diff options
Diffstat (limited to 'src/platform')
-rw-r--r-- | src/platform/CMakeLists.txt | 6 | ||||
-rw-r--r-- | src/platform/ForDllExport.cpp | 2 | ||||
-rw-r--r-- | src/platform/bootstrap/Bootstrap.cpp | 15 | ||||
-rw-r--r-- | src/platform/bootstrap/CMakeLists.txt | 13 | ||||
-rw-r--r-- | src/platform/gui/CMakeLists.txt | 3 |
5 files changed, 37 insertions, 2 deletions
diff --git a/src/platform/CMakeLists.txt b/src/platform/CMakeLists.txt index 23f4a0f6..f5f48795 100644 --- a/src/platform/CMakeLists.txt +++ b/src/platform/CMakeLists.txt @@ -1,8 +1,10 @@ set(CRU_PLATFORM_BASE_INCLUDE_DIR ${CRU_INCLUDE_DIR}/cru/platform) -add_library(cru_platform_base STATIC +add_library(cru_platform_base SHARED + ForDllExport.cpp Color.cpp ) target_sources(cru_platform_base PUBLIC + ${CRU_PLATFORM_BASE_INCLUDE_DIR}/Base.hpp ${CRU_PLATFORM_BASE_INCLUDE_DIR}/Check.hpp ${CRU_PLATFORM_BASE_INCLUDE_DIR}/Color.hpp ${CRU_PLATFORM_BASE_INCLUDE_DIR}/Exception.hpp @@ -12,6 +14,8 @@ target_sources(cru_platform_base PUBLIC ${CRU_PLATFORM_BASE_INCLUDE_DIR}/Resource.hpp ) target_link_libraries(cru_platform_base PUBLIC cru_base) +target_compile_definitions(cru_platform_base PRIVATE CRU_PLATFORM_EXPORT_API) add_subdirectory(graphics) add_subdirectory(gui) +add_subdirectory(bootstrap) diff --git a/src/platform/ForDllExport.cpp b/src/platform/ForDllExport.cpp new file mode 100644 index 00000000..743a9efa --- /dev/null +++ b/src/platform/ForDllExport.cpp @@ -0,0 +1,2 @@ +#include "cru/platform/Exception.hpp" +#include "cru/platform/Resource.hpp" diff --git a/src/platform/bootstrap/Bootstrap.cpp b/src/platform/bootstrap/Bootstrap.cpp new file mode 100644 index 00000000..99b5badb --- /dev/null +++ b/src/platform/bootstrap/Bootstrap.cpp @@ -0,0 +1,15 @@ +#include "cru/platform/bootstrap/Bootstrap.hpp" + +#ifdef CRU_PLATFORM_WINDOWS +#include "cru/win/gui/UiApplication.hpp" +#else +#endif + +namespace cru::platform::boostrap { +cru::platform::gui::IUiApplication* CreateUiApplication() { +#ifdef CRU_PLATFORM_WINDOWS + return new cru::platform::gui::win::WinUiApplication(); +#else +#endif +} +} // namespace cru::platform::boostrap diff --git a/src/platform/bootstrap/CMakeLists.txt b/src/platform/bootstrap/CMakeLists.txt new file mode 100644 index 00000000..7759415f --- /dev/null +++ b/src/platform/bootstrap/CMakeLists.txt @@ -0,0 +1,13 @@ +set(CRU_PLATFORM_BOOTSTRAP_INCLUDE_DIR ${CRU_INCLUDE_DIR}/cru/platform/bootstrap) +add_library(cru_platform_boostrap SHARED + Bootstrap.cpp +) +target_sources(cru_platform_boostrap PUBLIC + ${CRU_PLATFORM_BOOTSTRAP_INCLUDE_DIR}/Bootstrap.hpp +) + +if(WIN32) + target_link_libraries(cru_platform_boostrap PUBLIC cru_win_gui) +endif() + +target_compile_definitions(cru_platform_boostrap PRIVATE CRU_PLATFORM_BOOTSTRAP_EXPORT_API) diff --git a/src/platform/gui/CMakeLists.txt b/src/platform/gui/CMakeLists.txt index aca7620c..7f16a0e0 100644 --- a/src/platform/gui/CMakeLists.txt +++ b/src/platform/gui/CMakeLists.txt @@ -1,5 +1,5 @@ set(CRU_PLATFORM_GUI_INCLUDE_DIR ${CRU_INCLUDE_DIR}/cru/platform/gui) -add_library(cru_platform_gui STATIC +add_library(cru_platform_gui SHARED Keyboard.cpp UiApplication.cpp ) @@ -12,3 +12,4 @@ target_sources(cru_platform_gui PUBLIC ${CRU_PLATFORM_GUI_INCLUDE_DIR}/UiApplication.hpp ) target_link_libraries(cru_platform_gui PUBLIC cru_platform_graphics) +target_compile_definitions(cru_platform_gui PRIVATE CRU_PLATFORM_GUI_EXPORT_API) |