1
1
cmake_minimum_required (VERSION 3.16)
2
- project (lmu2png VERSION 1.2 LANGUAGES CXX
2
+ project (lmu2png VERSION 2.0 LANGUAGES CXX
3
3
HOMEPAGE_URL "https://easyrpg.org/" )
4
4
5
5
list (APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR} /CMakeModules" )
@@ -9,6 +9,14 @@ find_package(ZLIB REQUIRED)
9
9
find_package (liblcf REQUIRED)
10
10
find_package (FreeImage REQUIRED)
11
11
12
+ set (WITH_GUI "Automatic" CACHE STRING "Build a GUI frontend (ON/OFF/Automatic), Default: Automatic" )
13
+ set_property (CACHE WITH_GUI PROPERTY STRINGS ON OFF Automatic)
14
+ if (WITH_GUI STREQUAL "Automatic" )
15
+ find_package (wxWidgets CONFIG)
16
+ elseif (WITH_GUI STREQUAL "ON" )
17
+ find_package (wxWidgets CONFIG REQUIRED)
18
+ endif ()
19
+
12
20
set (argparse_dir src/external/argparse)
13
21
add_executable (lmu2png
14
22
src/main.h
@@ -17,6 +25,8 @@ add_executable(lmu2png
17
25
src/chipset.cpp
18
26
src/xyzplugin.h
19
27
src/xyzplugin.cpp
28
+ src/utils.h
29
+ src/utils.cpp
20
30
${argparse_dir} /argparse.hpp)
21
31
target_compile_features (lmu2png PRIVATE cxx_std_17)
22
32
target_include_directories (lmu2png PRIVATE ${argparse_dir} )
@@ -26,5 +36,17 @@ target_compile_definitions(lmu2png PRIVATE
26
36
PACKAGE_URL="${PROJECT_HOMEPAGE_URL} " )
27
37
target_link_libraries (lmu2png ZLIB::ZLIB freeimage::FreeImage liblcf::liblcf)
28
38
39
+ if (wxWidgets_FOUND)
40
+ target_compile_definitions (lmu2png PRIVATE WITH_GUI)
41
+ target_sources (lmu2png PRIVATE
42
+ src/gui.h
43
+ src/gui.cpp)
44
+ target_link_libraries (lmu2png wx::base wx::core)
45
+ set (GUI_STATUS "Enabled (wxWidgets ${wxWidgets_VERSION} )" )
46
+ else ()
47
+ set (GUI_STATUS "Disabled" )
48
+ endif ()
49
+ message (STATUS "GUI is ${GUI_STATUS} " )
50
+
29
51
include (GNUInstallDirs)
30
52
install (TARGETS lmu2png RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} )
0 commit comments