Files
wx_wherigo/CMakeLists.txt
2026-02-14 09:47:26 +01:00

83 lines
2.1 KiB
CMake

cmake_minimum_required(VERSION 3.21)
project(wxWherigo LANGUAGES CXX)
include(FetchContent)
set(CMAKE_C_STANDARD 23)
set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(wxBUILD_SHARED OFF)
add_subdirectory(components/lua-5.1.4)
add_subdirectory(components/cartridge)
add_subdirectory(components/storage)
message(STATUS "Fetching wxWidgets...")
FetchContent_Declare(
wxWidgets
GIT_REPOSITORY https://github.com/wxWidgets/wxWidgets.git
GIT_TAG v3.3.1
GIT_SHALLOW ON
)
FetchContent_MakeAvailable(wxWidgets)
message(STATUS "Configure project....")
set(SRCS
main/src/main.cpp
main/src/app.cpp
main/src/ui/start_screen.cpp
main/src/ui/game_screen.cpp
main/src/ui/wherigo_dialog.cpp
main/src/lua/wherigo.cpp
main/src/lua/zobject.cpp
main/src/lua/ztimer.cpp
main/src/lua/game_engine.cpp
main/src/lua/media_manager.cpp
main/src/lua/persistence.cpp
main/src/lua/wherigo_completion.cpp
)
if (APPLE)
add_executable(${PROJECT_NAME} MACOSX_BUNDLE ${SRCS})
set_target_properties(${PROJECT_NAME} PROPERTIES
BUNDLE True
MACOSX_BUNDLE_GUI_IDENTIFIER dev.mars3142.${PROJECT_NAME}
MACOSX_BUNDLE_BUNDLE_NAME ${PROJECT_NAME}
MACOSX_BUNDLE_BUNDLE_VERSION "0.1"
MACOSX_BUNDLE_SHORT_VERSION_STRING "0.1"
#MACOSX_BUNDLE_INFO_PLIST ${CMAKE_SOURCE_DIR}/cmake/customtemplate.plist.in
INSTALL_RPATH "@executable_path"
)
else ()
add_executable(${PROJECT_NAME} ${SRCS})
endif ()
# Haupt-Includes
include_directories(main/include)
target_link_libraries(${PROJECT_NAME}
PRIVATE
wxcore
wxnet
wxbase
wxhtml
lua
cartridge
storage
)
# Kopiere die .dylib-Dateien ins Bundle
if (APPLE)
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
$<TARGET_FILE:lua>
$<TARGET_FILE:cartridge>
$<TARGET_FILE:storage>
"$<TARGET_BUNDLE_DIR:${PROJECT_NAME}>/Contents/MacOS/"
)
endif ()