Improve bin2c compilation

This commit is contained in:
Lorenzooone
2024-05-01 04:40:11 +02:00
parent 4de5ac391e
commit 9e1e3696cd
2 changed files with 14 additions and 11 deletions

View File

@@ -122,24 +122,19 @@ file(MAKE_DIRECTORY ${TOOLS_DATA_DIR})
set(OUTPUT_NAME cc3dsfs)
add_custom_target(CMakeBin2C)
add_executable(CMakeBin2C tools/bin2c.cpp)
add_executable(${OUTPUT_NAME} source/cc3dsfs.cpp source/utils.cpp source/audio_data.cpp source/audio.cpp source/frontend.cpp source/TextRectangle.cpp source/WindowScreen.cpp source/3dscapture.cpp source/conversions.cpp source/ConnectionMenu.cpp ${TOOLS_DATA_DIR}/font_ttf.cpp)
target_link_libraries(${OUTPUT_NAME} PRIVATE sfml-graphics sfml-audio sfml-window sfml-system ${ftd3xx_BINARY_DIR}/${FTD3XX_SUBFOLDER}/${FTD3XX_LIB})
target_link_directories(${OUTPUT_NAME} PRIVATE ${ftd3xx_BINARY_DIR}/${FTD3XX_SUBFOLDER})
target_include_directories(${OUTPUT_NAME} PRIVATE ${ftd3xx_BINARY_DIR}/${FTD3XX_SUBFOLDER} ${TOOLS_DATA_DIR} ${CMAKE_SOURCE_DIR}/include)
target_compile_features(${OUTPUT_NAME} PRIVATE cxx_std_17)
target_compile_options(${OUTPUT_NAME} PRIVATE "-std=c++17" ${EXTRA_LINUX_CXX_FLAGS})
add_custom_command(
TARGET CMakeBin2C
COMMENT "Create Bin2C"
PRE_BUILD COMMAND ${CMAKE_HOST_CXX_COMPILER} ${CMAKE_SOURCE_DIR}/tools/bin2c.cpp -o ${TOOLS_DATA_DIR}/bin2c
)
target_compile_options(${OUTPUT_NAME} PRIVATE ${EXTRA_LINUX_CXX_FLAGS})
target_compile_features(CMakeBin2C PRIVATE cxx_std_17)
add_custom_command(
OUTPUT ${TOOLS_DATA_DIR}/font_ttf.cpp
COMMENT "Convert font to binary"
COMMAND ${TOOLS_DATA_DIR}/bin2c ${CMAKE_SOURCE_DIR}/data/font.ttf ${TOOLS_DATA_DIR} font_ttf font_ttf
COMMAND $<TARGET_FILE:CMakeBin2C> ${CMAKE_SOURCE_DIR}/data/font.ttf ${TOOLS_DATA_DIR} font_ttf font_ttf
DEPENDS ${CMAKE_SOURCE_DIR}/data/font.ttf CMakeBin2C
)

View File

@@ -3,6 +3,12 @@
#include <vector>
#include <string>
#if (!defined(_MSC_VER)) || (_MSC_VER > 1916)
#include <filesystem>
#else
#include <experimental/filesystem>
#endif
using namespace std;
int main(int argc, char *argv[]) {
@@ -28,7 +34,8 @@ int main(int argc, char *argv[]) {
string name_len_array = base_array_name + "_len";
int len = buffer.size();
ofstream output(output_folder + "/" + output_base_filename + ".cpp", ios::out);
std::filesystem::path out_path(output_folder + "/" + output_base_filename + ".cpp");
ofstream output(out_path.make_preferred(), ios::out);
if(!output) {
cout << "Couldn't open output cpp file!" << endl;
return -2;
@@ -57,7 +64,8 @@ int main(int argc, char *argv[]) {
output.close();
ofstream output2(output_folder + "/" + output_base_filename + ".h", ios::out);
std::filesystem::path out_path2(output_folder + "/" + output_base_filename + ".h");
ofstream output2(out_path2.make_preferred(), ios::out);
if(!output2) {
cout << "Couldn't open output h file!" << endl;
return -3;