1- CMAKE_MINIMUM_REQUIRED (VERSION 3.12 )
2- PROJECT (DW1ModelConverter)
3-
4- SET (CMAKE_CXX_STANDARD 20)
1+ cmake_minimum_required (VERSION 3.12 )
2+ project (DW1ModelConverter)
53
64include (cmake/CPM.cmake )
75
86# --- Libraries ---
9- # boost
10- #FIND_PACKAGE(Boost 1.75 REQUIRED)
11- #INCLUDE_DIRECTORIES( ${Boost_INCLUDE_DIR} )
12-
13- # libpng
14- FIND_PACKAGE (PNG REQUIRED )
15- INCLUDE_DIRECTORIES (${PNG_INCLUDE_DIR} )
16-
17- # tinyxml2
18- ADD_SUBDIRECTORY ("libs/tinyxml2" )
197
20- SET ( CMAKE_CXX_FLAGS " ${CMAKE_CXX_FLAGS} -Dcimg_use_png" )
21- INCLUDE_DIRECTORIES ( "libs" )
8+ # disable deprecation warning for libraries
9+ set (CMAKE_WARN_DEPRECATED FALSE CACHE BOOL "" FORCE )
2210
2311#tinygltf
2412set (TINYGLTF_HEADER_ONLY ON CACHE INTERNAL "" FORCE )
@@ -30,25 +18,45 @@ CPMAddPackage(
3018 GITHUB_REPOSITORY "syoyo/tinygltf"
3119)
3220
33- # --- Configuration ---
21+ # zlib
22+ set (SKIP_INSTALL_ALL ON )
23+
24+ CPMAddPackage (
25+ NAME zlib
26+ VERSION 1.3
27+ GITHUB_REPOSITORY "madler/zlib"
28+ )
29+
30+ # libpng
31+ CPMAddPackage (
32+ NAME libpng
33+ VERSION 1.6.40
34+ GITHUB_REPOSITORY "glennrp/libpng"
35+ )
36+
37+ # cimg
38+ CPMAddPackage (
39+ NAME cimg
40+ VERSION .3.3.0
41+ GITHUB_REPOSITORY "GreycLab/CImg"
42+ )
3443
35- add_compile_definitions (cimg_display=0 )
44+ # re-enable deprecation warning
45+ set (CMAKE_WARN_DEPRECATED TRUE CACHE BOOL "" FORCE )
3646
37- # --- Tools ---
38- SET (SOURCE_FILES ${SOURCE_FILES} "src/main.cpp" "src/TIM.cpp" "src/Animation.cpp" "src/CLUTMap.cpp"
47+ # --- Target ---
48+ set (SOURCE_FILES ${SOURCE_FILES} "src/main.cpp" "src/TIM.cpp" "src/Animation.cpp" "src/CLUTMap.cpp"
3949 "src/Model.cpp" "src/GLTF.cpp" )
4050
41- ADD_EXECUTABLE (DW1ModelConverter ${SOURCE_FILES} )
42- TARGET_LINK_LIBRARIES (DW1ModelConverter PUBLIC tinyxml2 PNG::PNG tinygltf )
51+ add_executable (DW1ModelConverter ${SOURCE_FILES} )
52+
53+ set_target_properties (DW1ModelConverter PROPERTIES CXX_STANDARD 20 )
54+ target_include_directories (DW1ModelConverter PRIVATE ${cimg_SOURCE_DIR} )
55+ target_link_libraries (DW1ModelConverter PRIVATE png_static tinygltf )
56+
57+ target_compile_definitions (DW1ModelConverter PRIVATE cimg_display=0 )
58+ target_compile_definitions (DW1ModelConverter PRIVATE cimg_use_png )
4359
44- # Copy .dll dependencies. Extremely dirty!
45- if (WIN32 )
46- FIND_FILE (PNG_FILE "bin/libpng16d.dll" )
47- FIND_FILE (ZLIB_FILE "bin/zlib.dll" PATHS "${ZLIB_INCLUDE_DIR} /.." )
60+ message ("${PROJECT_SOURCE_DIR} " )
4861
49- ADD_CUSTOM_COMMAND (TARGET DW1ModelConverter POST_BUILD
50- COMMAND ${CMAKE_COMMAND} -E copy ${PNG_FILE} $<TARGET_FILE_DIR :DW1ModelConverter >
51- COMMAND ${CMAKE_COMMAND} -E copy ${ZLIB_FILE} $<TARGET_FILE_DIR :DW1ModelConverter >
52- COMMAND_EXPAND_LISTS
53- )
54- endif ()
62+ install (TARGETS DW1ModelConverter)# RUNTIME DESTINATION ${PROJECT_SOURCE_DIR}/install)
0 commit comments