diff options
-rw-r--r-- | .github/workflows/cmake.yml | 4 | ||||
-rw-r--r-- | CMakeLists.txt | 3 | ||||
-rw-r--r-- | anim-crop-tool/CMakeLists.txt | 7 | ||||
-rw-r--r-- | anim-crop-tool/dummy.cc | 0 | ||||
-rw-r--r-- | compat/format.hpp | 4 | ||||
-rw-r--r-- | draw/CMakeLists.txt | 8 | ||||
-rw-r--r-- | editor/CMakeLists.txt | 9 | ||||
-rw-r--r-- | loader/CMakeLists.txt | 25 | ||||
-rw-r--r-- | loader/dummy.cc | 0 | ||||
-rw-r--r-- | main/CMakeLists.txt | 7 | ||||
-rw-r--r-- | main/dummy.cc | 0 | ||||
-rw-r--r-- | serialize/CMakeLists.txt | 22 | ||||
-rw-r--r-- | serialize/dummy.cc | 0 | ||||
-rw-r--r-- | src/CMakeLists.txt | 2 | ||||
-rw-r--r-- | test/CMakeLists.txt | 17 | ||||
-rw-r--r-- | test/dummy.cc | 0 |
16 files changed, 42 insertions, 66 deletions
diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 7b780ca6..3dc84652 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -22,7 +22,7 @@ jobs: - os: ubuntu-22.04 cmake: /usr/bin/env CC=gcc-12 CXX=g++-12 cmake - os: macos-12 - cmake: /usr/bin/env CC="$(brew --prefix llvm@14)/bin/clang" CXX="$(brew --prefix llvm@14)/bin/clang++" cmake + cmake: /usr/bin/env CC="$(brew --prefix llvm@15)/bin/clang" CXX="$(brew --prefix llvm@15)/bin/clang++" cmake - os: windows-latest cmake: .\.github\workflows\build-windows.bat cmake @@ -46,7 +46,7 @@ jobs: - name: Install OSX dependencies run: | - brew install SDL2 + brew install SDL2 llvm@15 if: matrix.os == 'macos-12' - name: Configure diff --git a/CMakeLists.txt b/CMakeLists.txt index e9cd6e6a..a42855d4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -183,10 +183,9 @@ include_directories(SYSTEM "${_fm-json-include-dirs}" ) -add_subdirectory(demangle) +#add_subdirectory(demangle) add_subdirectory(src) add_subdirectory(serialize) -add_subdirectory(loader) add_subdirectory(anim-crop-tool) add_subdirectory(draw) add_subdirectory(main) diff --git a/anim-crop-tool/CMakeLists.txt b/anim-crop-tool/CMakeLists.txt index 8321c0f2..91b3c1b0 100644 --- a/anim-crop-tool/CMakeLists.txt +++ b/anim-crop-tool/CMakeLists.txt @@ -2,16 +2,15 @@ find_package(OpenCV QUIET) if(OpenCV_FOUND) set(self "floormat-anim-crop-tool") - include_directories(SYSTEM ${OpenCV_INCLUDE_DIRS}) + include_directories(SYSTEM "${OpenCV_INCLUDE_DIRS}") link_libraries(Corrade::Utility Magnum::Magnum) link_libraries(opencv_imgproc opencv_imgcodecs opencv_core) link_libraries(nlohmann_json::nlohmann_json) file(GLOB sources "*.cpp" CONFIGURE_ARGS) - add_library(${self}_o STATIC "${sources}") - add_executable(${self} dummy.cc) - target_link_libraries(${self} PUBLIC ${self}_o floormat-serialize floormat) + add_executable(${self} "${sources}") + target_link_libraries(${self} PRIVATE floormat-serialize floormat) install(TARGETS ${self} RUNTIME DESTINATION "bin") endif() diff --git a/anim-crop-tool/dummy.cc b/anim-crop-tool/dummy.cc deleted file mode 100644 index e69de29b..00000000 --- a/anim-crop-tool/dummy.cc +++ /dev/null diff --git a/compat/format.hpp b/compat/format.hpp index dbf86e1e..faf776f0 100644 --- a/compat/format.hpp +++ b/compat/format.hpp @@ -2,7 +2,7 @@ #include <fmt/core.h> #include <fmt/compile.h> -#ifndef _MSC_VER +#if !FMT_USE_NONTYPE_TEMPLATE_ARGS namespace floormat::detail::fmt { template<std::size_t N> struct fmt_string final { @@ -20,7 +20,7 @@ struct fmt_string final { namespace floormat { -#ifndef _MSC_VER +#if !FMT_USE_NONTYPE_TEMPLATE_ARGS template<::floormat::detail::fmt::fmt_string s> consteval auto operator""_cf() noexcept { diff --git a/draw/CMakeLists.txt b/draw/CMakeLists.txt index ded948b8..027c1e24 100644 --- a/draw/CMakeLists.txt +++ b/draw/CMakeLists.txt @@ -1,11 +1,7 @@ set(self floormat-draw) file(GLOB sources "*.cpp" CONFIGURE_ARGS) -add_library(${self} STATIC "${sources}") -target_link_libraries( - ${self} PUBLIC - floormat - Magnum::GL -) +add_library(${self} OBJECT "${sources}") +target_link_libraries(${self} PUBLIC Magnum::GL floormat) if(FLOORMAT_PRECOMPILED-HEADERS) target_precompile_headers(${self} PRIVATE precomp.hpp) endif() diff --git a/editor/CMakeLists.txt b/editor/CMakeLists.txt index f1455e32..cb57e6e1 100644 --- a/editor/CMakeLists.txt +++ b/editor/CMakeLists.txt @@ -9,8 +9,8 @@ else() set_property(SOURCE "${res}" APPEND PROPERTY COMPILE_OPTIONS "-w") endif() -add_library(${self}_o STATIC "${sources}") -target_link_libraries(${self}_o PUBLIC MagnumIntegration::ImGui fmt::fmt nlohmann_json::nlohmann_json) +add_executable(${self} "${res}" "${sources}") +target_link_libraries(${self} PRIVATE MagnumIntegration::ImGui fmt::fmt nlohmann_json::nlohmann_json) if(NOT SDL2_INCLUDE_DIRS) if(NOT TARGET SDL2::SDL2) @@ -19,10 +19,9 @@ if(NOT SDL2_INCLUDE_DIRS) get_target_property(SDL2_INCLUDE_DIRS SDL2::SDL2 INTERFACE_INCLUDE_DIRECTORIES) endif() endif() -target_include_directories(${self}_o SYSTEM PRIVATE "${SDL2_INCLUDE_DIRS}") +target_include_directories(${self} SYSTEM PRIVATE "${SDL2_INCLUDE_DIRS}") -add_executable(${self} "${res}") -target_link_libraries(${self} PUBLIC ${self}_o floormat-main floormat-loader floormat-serialize) +target_link_libraries(${self} PRIVATE floormat-main floormat-serialize floormat-draw floormat) if(WIN32) target_sources(${self} PRIVATE "../main/floormat.rc") diff --git a/loader/CMakeLists.txt b/loader/CMakeLists.txt deleted file mode 100644 index 8192d541..00000000 --- a/loader/CMakeLists.txt +++ /dev/null @@ -1,25 +0,0 @@ -set(self floormat-loader) -file(GLOB sources "*.cpp" CONFIGURE_ARGS) -add_library(${self}_o STATIC "${sources}") -target_link_libraries( - ${self}_o PUBLIC - Magnum::Magnum - Magnum::Trade - nlohmann_json::nlohmann_json -) -if(WIN32 OR MAGNUM_BUILD_PLUGINS_STATIC) - target_link_libraries(${self}_o PUBLIC - MagnumPlugins::StbImageImporter - Magnum::TgaImporter - ) -endif() -if(WIN32) - target_link_libraries(${self}_o PUBLIC ntdll) -endif() - -add_library(${self} STATIC dummy.cc) -target_link_libraries(${self} PUBLIC ${self}_o floormat-serialize floormat) - -if(FLOORMAT_PRECOMPILED-HEADERS) - target_precompile_headers(${self} PRIVATE precomp.hpp) -endif() diff --git a/loader/dummy.cc b/loader/dummy.cc deleted file mode 100644 index e69de29b..00000000 --- a/loader/dummy.cc +++ /dev/null diff --git a/main/CMakeLists.txt b/main/CMakeLists.txt index cafc5972..d0e32491 100644 --- a/main/CMakeLists.txt +++ b/main/CMakeLists.txt @@ -1,8 +1,8 @@ set(self floormat-main) file(GLOB sources "*.cpp" CONFIGURE_ARGS) -add_library(${self}_o STATIC "${sources}") -target_link_libraries(${self}_o PUBLIC +add_library(${self} OBJECT "${sources}") +target_link_libraries(${self} PUBLIC Magnum::Sdl2Application Corrade::Containers Magnum::GL @@ -10,8 +10,7 @@ target_link_libraries(${self}_o PUBLIC fmt::fmt ) -add_library(${self} STATIC dummy.cc) -target_link_libraries(${self} PUBLIC ${self}_o floormat-draw floormat) +target_link_libraries(${self} PUBLIC floormat-draw floormat) if(FLOORMAT_PRECOMPILED-HEADERS) target_precompile_headers(${self} PRIVATE precomp.hpp) diff --git a/main/dummy.cc b/main/dummy.cc deleted file mode 100644 index e69de29b..00000000 --- a/main/dummy.cc +++ /dev/null diff --git a/serialize/CMakeLists.txt b/serialize/CMakeLists.txt index 7b7efb76..50f40148 100644 --- a/serialize/CMakeLists.txt +++ b/serialize/CMakeLists.txt @@ -1,9 +1,10 @@ set(self floormat-serialize) -file(GLOB sources "*.cpp" CONFIGURE_ARGS) -add_library(${self}_o STATIC "${sources}") +file(GLOB sources "*.cpp" "../loader/*.cpp" CONFIGURE_ARGS) +add_library(${self} OBJECT "${sources}") target_link_libraries( - ${self}_o PUBLIC + ${self} PUBLIC Magnum::Magnum + Magnum::Trade nlohmann_json::nlohmann_json fmt::fmt ) @@ -12,9 +13,18 @@ if(MSVC) add_compile_options(-EHsc) endif() -add_library(${self} STATIC dummy.cc) -target_link_libraries(${self} PUBLIC ${self}_o floormat-loader floormat) +target_link_libraries(${self} PUBLIC floormat) + +if(WIN32 OR MAGNUM_BUILD_PLUGINS_STATIC) + target_link_libraries(${self} PUBLIC + MagnumPlugins::StbImageImporter + Magnum::TgaImporter + ) +endif() +if(WIN32) + target_link_libraries(${self} PUBLIC ntdll) +endif() if(FLOORMAT_PRECOMPILED-HEADERS) - target_precompile_headers(${self}_o PRIVATE precomp.hpp) + target_precompile_headers(${self} PRIVATE precomp.hpp) endif() diff --git a/serialize/dummy.cc b/serialize/dummy.cc deleted file mode 100644 index e69de29b..00000000 --- a/serialize/dummy.cc +++ /dev/null diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 7af9439e..d30bf88d 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,6 +1,6 @@ set(self floormat) file(GLOB sources "*.cpp" "../shaders/*.cpp" CONFIGURE_ARGS) -add_library(${self} STATIC "${sources}") +add_library(${self} OBJECT "${sources}") target_link_libraries( ${self} PUBLIC Magnum::GL diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index adcd246f..6eea9f5f 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -3,21 +3,20 @@ file(GLOB sources "*.cpp" CONFIGURE_ARGS) file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/test") -add_library(${self}_o STATIC ${sources}) -target_link_libraries(${self}_o PUBLIC Magnum::GL Magnum::Trade nlohmann_json::nlohmann_json) +add_executable(${self} "${sources}") + +target_link_libraries(${self} PRIVATE floormat-serialize floormat) +target_link_libraries(${self} PRIVATE Magnum::GL Magnum::Trade nlohmann_json::nlohmann_json) if(APPLE) - target_link_libraries(${self}_o PUBLIC Magnum::WindowlessCglApplication) + target_link_libraries(${self} PRIVATE Magnum::WindowlessCglApplication) elseif(WIN32) - target_link_libraries(${self}_o PUBLIC Magnum::WindowlessWglApplication) - target_link_libraries(${self}_o PUBLIC ntdll) + target_link_libraries(${self} PRIVATE Magnum::WindowlessWglApplication) + target_link_libraries(${self} PRIVATE ntdll) else() - target_link_libraries(${self}_o PUBLIC Magnum::WindowlessGlxApplication) + target_link_libraries(${self} PRIVATE Magnum::WindowlessGlxApplication) endif() -add_executable(${self} dummy.cc) -target_link_libraries(${self} PUBLIC ${self}_o floormat-loader floormat-serialize floormat) - if(FLOORMAT_PRECOMPILED-HEADERS) target_precompile_headers(${self} PRIVATE precomp.hpp) endif() diff --git a/test/dummy.cc b/test/dummy.cc deleted file mode 100644 index e69de29b..00000000 --- a/test/dummy.cc +++ /dev/null |