aboutsummaryrefslogtreecommitdiff
path: root/libs/game_bethesda/src/creation/CMakeLists.txt
blob: 9aa23d863b36af5b5fdf9f112b8a57758a6a9799 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
cmake_minimum_required(VERSION 3.16)

find_package(Qt6 COMPONENTS Widgets REQUIRED)

# Try cmake config first, fall back to pkg-config
find_package(lz4 CONFIG QUIET)
if(NOT lz4_FOUND)
    find_package(PkgConfig REQUIRED)
    pkg_check_modules(LZ4 REQUIRED IMPORTED_TARGET liblz4)
endif()
# lz4 1.10+ exports LZ4::lz4, older versions export lz4::lz4
if(TARGET LZ4::lz4 AND NOT TARGET lz4::lz4)
    add_library(lz4::lz4 ALIAS LZ4::lz4)
endif()

set(CMAKE_AUTOMOC ON)

add_library(game_creation STATIC
    creationgameplugins.h
    creationgameplugins.cpp
)

target_link_libraries(game_creation
    PUBLIC game_gamebryo
    PRIVATE $<IF:$<TARGET_EXISTS:lz4::lz4>,lz4::lz4,PkgConfig::LZ4>
)

target_include_directories(game_creation PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})

# Keep uibase bare includes after system headers to avoid strings.h collision.
target_compile_options(game_creation PRIVATE
    "-idirafter" "${CMAKE_SOURCE_DIR}/libs/uibase/include/uibase"
)