Scope NICI support to classic FLAIM targets
This commit is contained in:
@@ -38,9 +38,12 @@ set(_nwflaim_common_defs
|
||||
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
list(APPEND _nwflaim_common_defs FLM_64BIT)
|
||||
endif()
|
||||
if(NWFLAIM_USE_NICI)
|
||||
list(APPEND _nwflaim_common_defs FLM_USE_NICI)
|
||||
endif()
|
||||
# FLM_USE_NICI is intentionally not part of the global/default define set.
|
||||
# Classic FLAIM and its own tools use the NICI/CCS encrypted-storage path,
|
||||
# but XFLAIM has a separate NICI implementation with a different historical
|
||||
# API surface. Enabling FLM_USE_NICI globally makes xflaim/src/f_nici.cpp
|
||||
# compile against the classic compatibility headers and breaks the default
|
||||
# mars-nwe build.
|
||||
|
||||
find_package(Threads REQUIRED)
|
||||
find_library(NWFLAIM_RT_LIBRARY rt)
|
||||
@@ -367,6 +370,16 @@ set(NWFLAIM_XFLAIM_SOURCES
|
||||
xflaim/src/scache.cpp
|
||||
xflaim/src/translog.cpp)
|
||||
|
||||
|
||||
function(nwflaim_enable_classic_nici target_name)
|
||||
if(NWFLAIM_USE_NICI AND TARGET ${target_name})
|
||||
target_compile_definitions(${target_name} PRIVATE FLM_USE_NICI)
|
||||
if(NOT NWFLAIM_NICI_INCLUDE_DIR STREQUAL "")
|
||||
target_include_directories(${target_name} PRIVATE "${NWFLAIM_NICI_INCLUDE_DIR}")
|
||||
endif()
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
function(nwflaim_common_target target_name public_include_dir install_include_dir)
|
||||
target_compile_features(${target_name} PUBLIC cxx_std_98)
|
||||
target_compile_definitions(${target_name} PRIVATE ${_nwflaim_common_defs})
|
||||
@@ -379,9 +392,6 @@ function(nwflaim_common_target target_name public_include_dir install_include_di
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/flaim/src"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/sql/src"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/xflaim/src")
|
||||
if(NWFLAIM_USE_NICI AND NOT NWFLAIM_NICI_INCLUDE_DIR STREQUAL "")
|
||||
target_include_directories(${target_name} PRIVATE "${NWFLAIM_NICI_INCLUDE_DIR}")
|
||||
endif()
|
||||
target_link_libraries(${target_name} PUBLIC Threads::Threads)
|
||||
if(CURSES_INCLUDE_DIRS)
|
||||
target_include_directories(${target_name} PRIVATE ${CURSES_INCLUDE_DIRS})
|
||||
@@ -411,9 +421,6 @@ function(nwflaim_common_private_target target_name)
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/sql/src"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/xflaim/src"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/xflaim/util")
|
||||
if(NWFLAIM_USE_NICI AND NOT NWFLAIM_NICI_INCLUDE_DIR STREQUAL "")
|
||||
target_include_directories(${target_name} PRIVATE "${NWFLAIM_NICI_INCLUDE_DIR}")
|
||||
endif()
|
||||
target_link_libraries(${target_name} PRIVATE Threads::Threads)
|
||||
if(CURSES_INCLUDE_DIRS)
|
||||
target_include_directories(${target_name} PRIVATE ${CURSES_INCLUDE_DIRS})
|
||||
@@ -478,9 +485,11 @@ endif()
|
||||
nwflaim_add_library(flaim flaim flaim/src "${CMAKE_INSTALL_INCLUDEDIR}/nwflaim" "${NWFLAIM_FLAIM_LIBRARY_VERSION}" "${NWFLAIM_FLAIM_LIBRARY_SOVERSION}" ${NWFLAIM_FLAIM_SOURCES})
|
||||
if(TARGET flaim)
|
||||
target_link_libraries(flaim PUBLIC flaimtk)
|
||||
nwflaim_enable_classic_nici(flaim)
|
||||
endif()
|
||||
if(TARGET flaim_static)
|
||||
target_link_libraries(flaim_static PUBLIC flaimtk_static)
|
||||
nwflaim_enable_classic_nici(flaim_static)
|
||||
endif()
|
||||
|
||||
if(NWFLAIM_BUILD_SQL)
|
||||
@@ -510,17 +519,21 @@ if(NWFLAIM_BUILD_TOOLS)
|
||||
flaim/util/flm_lutl.cpp
|
||||
flaim/util/sharutil.cpp)
|
||||
nwflaim_common_private_target(flaim_util_objects)
|
||||
nwflaim_enable_classic_nici(flaim_util_objects)
|
||||
target_include_directories(flaim_util_objects PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/flaim/util")
|
||||
|
||||
nwflaim_add_tool(flmcheckdb_tool nwflmcheckdb flaim
|
||||
flaim/util/checkdb.cpp
|
||||
$<TARGET_OBJECTS:flaim_util_objects>)
|
||||
nwflaim_enable_classic_nici(flmcheckdb_tool)
|
||||
nwflaim_add_tool(flmrebuild_tool nwflmrebuild flaim
|
||||
flaim/util/rebuild.cpp
|
||||
$<TARGET_OBJECTS:flaim_util_objects>)
|
||||
nwflaim_enable_classic_nici(flmrebuild_tool)
|
||||
nwflaim_add_tool(flmgigatest_tool nwflmgigatest flaim
|
||||
flaim/util/gigatest.cpp
|
||||
$<TARGET_OBJECTS:flaim_util_objects>)
|
||||
nwflaim_enable_classic_nici(flmgigatest_tool)
|
||||
nwflaim_add_tool(flmview_tool nwflmview flaim
|
||||
flaim/util/viewblk.cpp
|
||||
flaim/util/view.cpp
|
||||
@@ -532,10 +545,12 @@ if(NWFLAIM_BUILD_TOOLS)
|
||||
flaim/util/viewmenu.cpp
|
||||
flaim/util/viewsrch.cpp
|
||||
$<TARGET_OBJECTS:flaim_util_objects>)
|
||||
nwflaim_enable_classic_nici(flmview_tool)
|
||||
nwflaim_add_tool(flmdbshell_tool nwflmdbshell flaim
|
||||
flaim/util/dbshell.cpp
|
||||
flaim/util/flm_edit.cpp
|
||||
$<TARGET_OBJECTS:flaim_util_objects>)
|
||||
nwflaim_enable_classic_nici(flmdbshell_tool)
|
||||
|
||||
if(NWFLAIM_BUILD_XFLAIM)
|
||||
add_library(xflaim_util_objects OBJECT
|
||||
|
||||
Reference in New Issue
Block a user