From 05d8c412ed763904c5b485f5260599328df328f8 Mon Sep 17 00:00:00 2001 From: Neil Date: Wed, 23 Jun 2021 14:36:00 +1000 Subject: [PATCH] add support for win dll builds. --- CMakeLists.txt | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d56c829..86fc735 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ -CMAKE_MINIMUM_REQUIRED(VERSION 2.6) - +CMAKE_MINIMUM_REQUIRED(VERSION 3.0) +option(BUILD_SHARED_LIBS "Build using shared libraries" OFF) PROJECT(Quartet) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -DNDEBUG -Wall -funroll-loops") @@ -17,14 +17,21 @@ SET(SRC_FILES src/predicates.cpp src/make_signed_distance.cpp src/make_tet_mesh.cpp) -ADD_LIBRARY(quartet ${SRC_FILES}) +ADD_LIBRARY(quartet_obj OBJECT ${SRC_FILES}) +ADD_LIBRARY(quartet $) if(UNIX) TARGET_COMPILE_OPTIONS(quartet PRIVATE -fPIC) TARGET_LINK_LIBRARIES(quartet PRIVATE m) endif(UNIX) ADD_EXECUTABLE(quartet_bin src/main.cpp) -TARGET_LINK_LIBRARIES(quartet_bin PRIVATE quartet) +if(WIN32 AND BUILD_SHARED_LIBS) + ADD_LIBRARY(quartet_static STATIC $) + TARGET_LINK_LIBRARIES(quartet_bin PRIVATE quartet_static) +else() + TARGET_LINK_LIBRARIES(quartet_bin PRIVATE quartet) +endif() + SET_TARGET_PROPERTIES(quartet_bin PROPERTIES OUTPUT_NAME quartet) INSTALL(TARGETS quartet quartet_bin