Skip to content

Commit fe6d100

Browse files
committed
Refactor CMake build: replace in-line libnest2d_js setup with add_subdirectory
1 parent b7524d7 commit fe6d100

File tree

1 file changed

+14
-31
lines changed

1 file changed

+14
-31
lines changed

CMakeLists.txt

Lines changed: 14 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ set(libnest2d_SRCS
9494
)
9595

9696
if(WITH_JS_BINDINGS OR EMSCRIPTEN)
97-
list(APPEND libnest2d_SRCS src/libnest2d_js.cpp)
97+
add_subdirectory(libnest2d_js)
9898
endif()
9999

100100

@@ -107,39 +107,22 @@ if(HEADER_ONLY)
107107
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
108108
)
109109
else()
110-
if(WITH_JS_BINDINGS OR EMSCRIPTEN)
111-
add_library(nest2d_js SHARED ${libnest2d_SRCS} ${libnest2d_HDRS})
112-
target_link_libraries(nest2d_js PUBLIC project_options)
113-
target_include_directories(nest2d_js
114-
PUBLIC
115-
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include/>
116-
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
117-
PRIVATE
118-
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>
119-
)
120-
set_target_properties(nest2d_js PROPERTIES OUTPUT_NAME "libnest2d_js")
121-
# Emscripten-specific properties for npm packaging
122-
if(EMSCRIPTEN)
123-
set_target_properties(nest2d_js PROPERTIES SUFFIX ".js")
110+
if(BUILD_SHARED_LIBS)
111+
add_library(nest2d SHARED ${libnest2d_SRCS} ${libnest2d_HDRS})
112+
if(WIN32)
113+
set_target_properties(nest2d PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON)
124114
endif()
125115
else()
126-
if(BUILD_SHARED_LIBS)
127-
add_library(nest2d SHARED ${libnest2d_SRCS} ${libnest2d_HDRS})
128-
if(WIN32)
129-
set_target_properties(nest2d PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON)
130-
endif()
131-
else()
132-
add_library(nest2d STATIC ${libnest2d_SRCS} ${libnest2d_HDRS})
133-
endif()
134-
target_link_libraries(nest2d PUBLIC project_options)
135-
target_include_directories(nest2d
136-
PUBLIC
137-
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include/>
138-
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
139-
PRIVATE
140-
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>
141-
)
116+
add_library(nest2d STATIC ${libnest2d_SRCS} ${libnest2d_HDRS})
142117
endif()
118+
target_link_libraries(nest2d PUBLIC project_options)
119+
target_include_directories(nest2d
120+
PUBLIC
121+
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include/>
122+
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
123+
PRIVATE
124+
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>
125+
)
143126
endif()
144127

145128
if(ENABLE_TESTING)

0 commit comments

Comments
 (0)