summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/cmake.yml4
-rw-r--r--CMakeLists.txt3
-rw-r--r--anim-crop-tool/CMakeLists.txt7
-rw-r--r--anim-crop-tool/dummy.cc0
-rw-r--r--compat/format.hpp4
-rw-r--r--draw/CMakeLists.txt8
-rw-r--r--editor/CMakeLists.txt9
-rw-r--r--loader/CMakeLists.txt25
-rw-r--r--loader/dummy.cc0
-rw-r--r--main/CMakeLists.txt7
-rw-r--r--main/dummy.cc0
-rw-r--r--serialize/CMakeLists.txt22
-rw-r--r--serialize/dummy.cc0
-rw-r--r--src/CMakeLists.txt2
-rw-r--r--test/CMakeLists.txt17
-rw-r--r--test/dummy.cc0
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