From 9e1e3696cd3643eaa8ef2a984435912b99db198c Mon Sep 17 00:00:00 2001 From: Lorenzooone Date: Wed, 1 May 2024 04:40:11 +0200 Subject: [PATCH] Improve bin2c compilation --- CMakeLists.txt | 13 ++++--------- tools/bin2c.cpp | 12 ++++++++++-- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 89efb40..cd3b198 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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 $ ${CMAKE_SOURCE_DIR}/data/font.ttf ${TOOLS_DATA_DIR} font_ttf font_ttf DEPENDS ${CMAKE_SOURCE_DIR}/data/font.ttf CMakeBin2C ) diff --git a/tools/bin2c.cpp b/tools/bin2c.cpp index 31144c3..c96a8eb 100644 --- a/tools/bin2c.cpp +++ b/tools/bin2c.cpp @@ -3,6 +3,12 @@ #include #include +#if (!defined(_MSC_VER)) || (_MSC_VER > 1916) +#include +#else +#include +#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;