You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

87 lines
2.6 KiB

# Copyright 2023 Ingemar Hedvall
# SPDX-License-Identifier: MIT
cmake_minimum_required(VERSION 3.20)
project(
A2lExplorer
VERSION 1.0
DESCRIPTION "Simple A2L file explorer"
LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 20)
include("../script/utillib.cmake")
add_executable(a2lexplorer
src/a2lexplorer.cpp src/a2lexplorer.h
src/mainframe.cpp src/mainframe.h
src/a2ldocument.cpp src/a2ldocument.h
src/a2lview.cpp src/a2lview.h
src/a2lexplorer.rc
src/childframe.cpp src/childframe.h
src/windowid.h
src/a2ltreelist.cpp
src/a2ltreelist.h
src/a2lpropertygrid.cpp
src/a2lpropertygrid.h)
target_include_directories(a2lexplorer PRIVATE a2l)
if(MSVC)
target_link_options(a2lexplorer PRIVATE /SUBSYSTEM:WINDOWS)
target_compile_definitions(a2lexplorer PRIVATE _WIN32_WINNT=0x0A00)
endif()
if(MINGW)
target_link_options(a2lexplorer PRIVATE -mwindows -static -fstack-protector)
endif()
target_link_libraries(a2lexplorer PRIVATE a2l)
target_link_libraries(a2lexplorer PRIVATE util)
if(VCPKG)
find_package(expat CONFIG REQUIRED)
target_link_libraries(a2lexplorer PRIVATE expat::expat)
find_package(Boost REQUIRED COMPONENTS filesystem locale)
target_link_libraries(a2lexplorer PRIVATE Boost::boost Boost::filesystem Boost::locale)
find_package(wxWidgets CONFIG REQUIRED)
target_link_libraries(a2lexplorer PRIVATE wx::propgrid wx::adv wx::core wx::base)
else()
include("../script/expat.cmake")
include("../script/wxwidgets.cmake")
include("../script/boost.cmake")
target_include_directories(a2lexplorer PRIVATE ${wxWidgets_INCLUDE_DIRS})
target_include_directories(a2lexplorer PRIVATE ${Boost_INCLUDE_DIRS})
target_compile_definitions(a2lexplorer PRIVATE XML_STATIC)
target_link_libraries(a2lexplorer PRIVATE EXPAT::EXPAT)
target_link_libraries(a2lexplorer PRIVATE ${wxWidgets_LIBRARIES})
target_link_libraries(a2lexplorer PRIVATE ${wxWidgets_LIB_DIR}/wxscintillad.lib)
target_link_libraries(a2lexplorer PRIVATE ${wxWidgets_LIB_DIR}/wxlexillad.lib)
target_link_libraries(a2lexplorer PRIVATE ${Boost_LIBRARIES})
endif()
if(MINGW)
target_link_options(a2lexplorer PRIVATE -mwindows -static -fstack-protector)
target_link_libraries(a2lexplorer PRIVATE iconv)
elseif (MSVC)
target_link_options(a2lexplorer PRIVATE /SUBSYSTEM:WINDOWS)
target_compile_definitions(a2lexplorer PRIVATE -D_WIN32_WINNT=0x0A00)
endif ()
if(WIN32)
target_link_libraries(a2lexplorer PRIVATE bcrypt)
target_link_libraries(a2lexplorer PRIVATE ws2_32)
target_link_libraries(a2lexplorer PRIVATE mswsock)
endif()
if(UNIX)
target_link_libraries(a2lexplorer PRIVATE rt icuuc icui18n)
endif(UNIX)