fix: better static lib support
authorIceyer <me@iceyer.net>
Mon, 12 Feb 2018 17:14:37 +0000 (01:14 +0800)
committerIceyer <me@iceyer.net>
Mon, 12 Feb 2018 17:14:37 +0000 (01:14 +0800)
Change-Id: I13c0588a79d8ec66ee5a6d62c28de6341e6f7127

src/dtk_build.prf
src/dtk_cmake.prf
src/dtkcore_global.h
tests/tests.pro
tools/settings/settings.pro

index f71a50e97433bca89d001cbd6338a3db3a3036c1..77cd6ba0292dfe584f69d859e1b8cd03b5dab534 100644 (file)
@@ -63,3 +63,7 @@ isEmpty(INCLUDE_INSTALL_DIR) {
     DTK_INCLUDEPATH = $$INCLUDE_INSTALL_DIR/libdtk-$${VER_MAJ}.$${VER_MIN}.$${VER_PAT}
 }
 
+!isEmpty(DTK_STATIC_LIB){
+    DEFINES += DTK_STATIC_LIB
+    CONFIG += staticlib
+}
index 7ee45f9b7b4e63ed602c30e973158858f3fe4243..33bdf9eebaaa0aa9e2bc62761cd77e4cc33acaf2 100644 (file)
@@ -7,13 +7,12 @@ isEmpty(CMAKE_MODULE): error("CMAKE_MODULE must not empty")
 WORK_DIR=$$_PRO_FILE_PWD_
 
 message("config cmake module: $$CMAKE_MODULE")
-message("write cmake file to: $$WORK_DIR")
 
 CMAKE_MODULE_INCLUDE_DIR=$$upper($${CMAKE_MODULE})_INCLUDE_DIR
 
 INC_DIR = $$replace(includes.path, "/", "\/")
 CMD = sed -E \'s/$${CMAKE_MODULE_INCLUDE_DIR} \".*\"\\)$/$${CMAKE_MODULE_INCLUDE_DIR} \"$${INC_DIR}\"\\)/\' $$WORK_DIR/../cmake/$${CMAKE_MODULE}/$${CMAKE_MODULE}Config.cmake.in > $$WORK_DIR/../cmake/$${CMAKE_MODULE}/$${CMAKE_MODULE}Config.cmake
-
+message("write cmake file to: $$WORK_DIR/../cmake/$${CMAKE_MODULE}/$${CMAKE_MODULE}Config.cmake")
 system($$CMD) | error("config cmake failed")
 
 cmake_config.files = $$PWD/../cmake
index 6c501b75232eb7432fecf4a6b2901f481c1bb9e7..927acd05de80beac0882f75b515a90b3dc015fbe 100644 (file)
@@ -47,7 +47,7 @@
 #endif
 
 
-#if defined(STATIC_LIB)
+#if defined(DTK_STATIC_LIB)
 #  define LIBDTKCORESHARED_EXPORT
 #else
 #if defined(LIBDTKCORE_LIBRARY)
index 9f3008d40a50b45c154a1b965c2f330e2d8f0971..12a8940316c007ba7132fb2a59bd141b30aee414 100644 (file)
@@ -4,6 +4,10 @@ QT -= gui
 TEMPLATE = app
 CONFIG += c++11
 
+!isEmpty(DTK_STATIC_LIB){
+    DEFINES += DTK_STATIC_LIB
+}
+
 SOURCES += \
     main.cpp \
     dutiltester.cpp \
index 7dd83dfd0ecda60cf96e1166285d90010cfe8d4c..d51c2ea9392b0a0e399f014d2fb8a858f1ae62af 100644 (file)
@@ -15,14 +15,19 @@ SOURCES += main.cpp
 isEmpty(PREFIX){
     PREFIX = /usr
 }
+isEmpty(BIN_INSTALL_DIR) {
+    BIN_INSTALL_DIR=$${PREFIX}/lib/dtk2
+}
+!isEmpty(DTK_STATIC_LIB){
+    DEFINES += DTK_STATIC_LIB
+}
 
-binary.files += $${OUT_PWD}/dtk-settings
-binary.path = $${PREFIX}/lib/dtk2
+target.path = $${BIN_INSTALL_DIR}
 
 script.files += $${PWD}/../script/*.py
-script.path = $${PREFIX}/lib/dtk2
+script.path = $${BIN_INSTALL_DIR}
 
-INSTALLS += binary script
+INSTALLS += target script
 
 win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../../src/release/ -ldtkcore
 else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../../src/debug/ -ldtkcore