summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorTeus Benschop <teusjannette@gmail.com>2018-10-17 14:17:24 +0200
committerTeus Benschop <teusjannette@gmail.com>2018-10-17 14:17:24 +0200
commit20263805178077fde0038a47e6b4310d7fe62142 (patch)
tree3914b865747903d60fe139d6c70895eaf1a7ed50 /CMakeLists.txt
parent8076ab1d72fefcee310be0419f8a214c57075b97 (diff)
New upstream version 1.7.4
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt54
1 files changed, 38 insertions, 16 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7d943d5..993a996 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,5 +1,7 @@
# TODO: write FindICU (icu-config only for 2.2 and up) -- currently taken from another CMake system
# limit pkg-config version to >= 0.14, demo, utilities, doc, tests
+# use BUILD_SHARED_LIBS
+# convince perl swig bindings to build properly
#
# NOTES: Defaults to build type of Shared
# Forces out-of-source tree build
@@ -10,12 +12,9 @@
# of their own GPLv2 license and all copyright is transferred to them for
# all posterity and eternity, wherever such transfer is possible. Where it is
# not, then this file is released under the GPLv2 by myself.
-#
-#
-# A CMake port of the SWORD build system... we hope
PROJECT(libsword CXX C)
CMAKE_MINIMUM_REQUIRED(VERSION 2.6.0)
-SET(SWORD_VERSION 1.7.3)
+SET(SWORD_VERSION 1.7.4)
# Make sure it's an out-of-stream build
IF(${CMAKE_CURRENT_BINARY_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR})
@@ -36,6 +35,10 @@ INCLUDE("${CMAKE_CURRENT_SOURCE_DIR}/cmake/sources.cmake")
# Our local includes
INCLUDE_DIRECTORIES("${CMAKE_CURRENT_BINARY_DIR}/include") # For swversion.h
INCLUDE_DIRECTORIES("${CMAKE_CURRENT_SOURCE_DIR}/include") # For everything else
+IF(MSVC)
+ INCLUDE_DIRECTORIES("${CMAKE_CURRENT_SOURCE_DIR}/src/utilfuns/win32/")
+ ADD_DEFINITIONS(-DWIN32 -D_ICUSWORD_ -D_LIB -DREGEX_MALLOC -DSWMAKINGDLL -D_CRT_SECURE_NO_WARNINGS -DCURL_STATICLIB -DUSBINARY -D_CRT_SECURE_NO_DEPRECATE)
+ENDIF(MSVC)
###########################################################################################
# This will look for various libraries that libsword builds against. There is no REQUIRED
@@ -43,10 +46,21 @@ INCLUDE_DIRECTORIES("${CMAKE_CURRENT_SOURCE_DIR}/include") # For everything else
#
MESSAGE(STATUS "\n-- SEARCHING FOR SYTEM PACKAGES")
# Find our packages
+IF(MSVC)
+ FIND_PACKAGE(BZIP2 REQUIRED)
+ FIND_PACKAGE(XZ REQUIRED)
+ FIND_PACKAGE(ICU REQUIRED)
+ FIND_PACKAGE(CURL REQUIRED)
+ELSE(MSVC)
+ FIND_PACKAGE(BZIP2 QUIET)
+ FIND_PACKAGE(XZ QUIET)
+ FIND_PACKAGE(ICU QUIET)
+ FIND_PACKAGE(CURL QUIET)
+ENDIF(MSVC)
+FIND_PACKAGE(CLucene QUIET)
FIND_PACKAGE(ZLIB QUIET)
FIND_PACKAGE(ICU QUIET)
FIND_PACKAGE(CURL QUIET)
-FIND_PACKAGE(CLucene QUIET)
FIND_PACKAGE(PkgConfig QUIET)
FIND_PACKAGE(Regex QUIET)
@@ -98,10 +112,10 @@ ENDIF(LIBSWORD_LIBRARY_TYPE MATCHES ".*Static.*" OR NOT LIBSWORD_LIBRARY_TYPE)
################################################################################################
# Some random user settings
#
-
-IF(NOT SWORD_GLOBAL_CONF_DIR STREQUAL "")
- ADD_DEFINITIONS(-DGLOBCONFPATH="${SWORD_GLOBAL_CONF_DIR}/sword.conf")
-ENDIF(NOT SWORD_GLOBAL_CONF_DIR STREQUAL "")
+ADD_DEFINITIONS(-DGLOBCONFPATH="${SYSCONF_INSTALL_DIR}/sword.conf")
+SET(CONFFILE "[Install]
+DataPath=${SHARE_INSTALL_PREFIX}/sword")
+FILE(WRITE "${CMAKE_CURRENT_BINARY_DIR}/sword.conf" "${CONFFILE}")
###############################################################################################
@@ -150,13 +164,21 @@ IF(SWORD_ENABLE_PROFILEFN STREQUAL "Yes")
TARGET_LINK_LIBRARIES(libsword fnccheck)
ENDIF(SWORD_ENABLE_PROFILEFN STREQUAL "Yes")
-SET(CMAKE_C_FLAGS_DEBUG "-g3 -Wall -O0 ${CMAKE_C_FLAGS}")
-SET(CMAKE_C_FLAGS_RELEASE "-O3 ${CMAKE_C_FLAGS}")
-SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-O3 -g ${CMAKE_C_FLAGS}")
-SET(CMAKE_CXX_FLAGS_DEBUG "-g3 -Wall -O0 ${CMAKE_CXX_FLAGS}")
-SET(CMAKE_CXX_FLAGS_RELEASE "-O3 ${CMAKE_CXX_FLAGS}")
-SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 -g ${CMAKE_CXX_FLAGS}")
-
+IF(MSVC)
+ SET(CMAKE_C_FLAGS_DEBUG "/D /O0 /DDEBUG ${CMAKE_C_FLAGS}")
+ SET(CMAKE_C_FLAGS_RELEASE "/O3 /DNDEBUG ${CMAKE_C_FLAGS}")
+ SET(CMAKE_C_FLAGS_RELWITHDEBINFO "/O3 /D /DDEBUG ${CMAKE_C_FLAGS}")
+ SET(CMAKE_CXX_FLAGS_DEBUG "/D /O0 /DDEBUG ${CMAKE_CXX_FLAGS}")
+ SET(CMAKE_CXX_FLAGS_RELEASE "/O3 ${CMAKE_CXX_FLAGS}")
+ SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "/O3 /D /DDEBUG ${CMAKE_CXX_FLAGS}")
+ELSE(MSVC)
+ SET(CMAKE_C_FLAGS_DEBUG "-g3 -Wall -O0 ${CMAKE_C_FLAGS}")
+ SET(CMAKE_C_FLAGS_RELEASE "-O3 ${CMAKE_C_FLAGS}")
+ SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-O3 -g ${CMAKE_C_FLAGS}")
+ SET(CMAKE_CXX_FLAGS_DEBUG "-g3 -Wall -O0 ${CMAKE_CXX_FLAGS}")
+ SET(CMAKE_CXX_FLAGS_RELEASE "-O3 ${CMAKE_CXX_FLAGS}")
+ SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 -g ${CMAKE_CXX_FLAGS}")
+ENDIF(MSVC)
##############################################################################################
# Setting libraries and includes
#