From 19ddec8f774526f2108edd1323ea5610b31cdbf3 Mon Sep 17 00:00:00 2001 From: Nishi Date: Mon, 22 Jun 2026 07:34:58 +0900 Subject: [PATCH] Introduce SJ4_BUILD_ONLY_LIB --- CMakeLists.txt | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a91f22a..ef698ef 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,6 +6,7 @@ option(SJ4_GLOBAL "Use global variables or not" OFF) option(SJ4_EMBED "Embed main dictionary or not" OFF) option(SJ4_EMBED_PLUS "Embed pubdic+ as main dictionary or not" OFF) option(SJ4_NO_UNICODE "Remove Unicode code completely" OFF) +option(SJ4_BUILD_ONLY_LIB "Build only library" OFF) file(GLOB_RECURSE SJ4COMMON_SRCS lib/sj4common/**.c) add_library(sj4common STATIC ${SJ4COMMON_SRCS}) @@ -43,17 +44,19 @@ if(NOT SJ4_GLOBAL) endif() endif() -file(GLOB_RECURSE SJ4MKDIC_SRCS src/sj4mkdic/**.c) -add_executable(sj4mkdic ${SJ4MKDIC_SRCS}) -target_include_directories(sj4mkdic PRIVATE include/sj4common include/sj4core) -target_compile_definitions(sj4mkdic PRIVATE ENGLISH) -target_link_libraries(sj4mkdic PRIVATE sj4common) -if(NOT SJ4_NO_UNICODE) - target_compile_definitions(sj4mkdic PRIVATE UTF8) -endif() +if(NOT CMAKE_BINARY_DIR MATCHES CMAKE_CURRENT_SOURCE_DIR AND NOT SJ4_BUILD_ONLY_LIB) + file(GLOB_RECURSE SJ4MKDIC_SRCS src/sj4mkdic/**.c) + add_executable(sj4mkdic ${SJ4MKDIC_SRCS}) + target_include_directories(sj4mkdic PRIVATE include/sj4common include/sj4core) + target_compile_definitions(sj4mkdic PRIVATE ENGLISH) + target_link_libraries(sj4mkdic PRIVATE sj4common) + if(NOT SJ4_NO_UNICODE) + target_compile_definitions(sj4mkdic PRIVATE UTF8) + endif() -if(NOT SJ4_GLOBAL) - file(GLOB_RECURSE SJ4TEST_SRCS src/sj4test/**.c) - add_executable(sj4test ${SJ4TEST_SRCS}) - target_link_libraries(sj4test PRIVATE sj4lib) + if(NOT SJ4_GLOBAL) + file(GLOB_RECURSE SJ4TEST_SRCS src/sj4test/**.c) + add_executable(sj4test ${SJ4TEST_SRCS}) + target_link_libraries(sj4test PRIVATE sj4lib) + endif() endif()