diff options
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/README.txt | 1 | ||||
-rw-r--r-- | cmake/modules/FindIconv.cmake | 58 | ||||
-rw-r--r-- | cmake/modules/FindLdap.cmake | 35 | ||||
-rw-r--r-- | cmake/modules/FindLibDigiDoc.cmake | 28 | ||||
-rw-r--r-- | cmake/modules/FindLibDigiDocpp.cmake | 28 | ||||
-rw-r--r-- | cmake/modules/FindMiniZip.cmake | 30 | ||||
-rw-r--r-- | cmake/modules/FindPCSCLite.cmake | 44 | ||||
-rw-r--r-- | cmake/modules/FindPKCS11.cmake | 24 | ||||
-rw-r--r-- | cmake/modules/FindXSD.cmake | 52 | ||||
-rw-r--r-- | cmake/modules/FindXercesC.cmake | 30 | ||||
-rw-r--r-- | cmake/modules/FindXmlSecurityC.cmake | 38 | ||||
-rw-r--r-- | cmake/modules/MacOSXBundleInfo.plist.in | 36 | ||||
-rw-r--r-- | cmake/modules/VersionInfo.cmake | 95 | ||||
-rw-r--r-- | cmake/modules/win81.exe.manifest | 24 |
14 files changed, 523 insertions, 0 deletions
diff --git a/cmake/README.txt b/cmake/README.txt new file mode 100644 index 0000000..6c6e4ab --- /dev/null +++ b/cmake/README.txt @@ -0,0 +1 @@ +Inner component, do not use. Contact for assistance by email abi@id.ee or http://www.id.ee diff --git a/cmake/modules/FindIconv.cmake b/cmake/modules/FindIconv.cmake new file mode 100644 index 0000000..7fe482d --- /dev/null +++ b/cmake/modules/FindIconv.cmake @@ -0,0 +1,58 @@ +# /kde/kdesupport/strigi/cmake +# - Try to find Iconv +# Once done this will define +# +# ICONV_FOUND - system has Iconv +# ICONV_INCLUDE_DIR - the Iconv include directory +# ICONV_LIBRARIES - Link these to use Iconv +# ICONV_SECOND_ARGUMENT_IS_CONST - the second argument for iconv() is const +# +include(CheckCSourceCompiles) + +IF (ICONV_INCLUDE_DIR AND ICONV_LIBRARIES) + # Already in cache, be silent + SET(ICONV_FIND_QUIETLY TRUE) +ENDIF (ICONV_INCLUDE_DIR AND ICONV_LIBRARIES) + +FIND_PATH(ICONV_INCLUDE_DIR iconv.h) + +FIND_LIBRARY(ICONV_LIBRARIES NAMES iconv libiconv libiconv-2 c) + +IF(ICONV_INCLUDE_DIR AND ICONV_LIBRARIES) + SET(ICONV_FOUND TRUE) +ENDIF(ICONV_INCLUDE_DIR AND ICONV_LIBRARIES) + +set(CMAKE_REQUIRED_INCLUDES ${ICONV_INCLUDE_DIR}) +set(CMAKE_REQUIRED_LIBRARIES ${ICONV_LIBRARIES}) +IF(ICONV_FOUND) + check_c_source_compiles(" + #include <iconv.h> + int main(){ + iconv_t conv = 0; + const char* in = 0; + size_t ilen = 0; + char* out = 0; + size_t olen = 0; + iconv(conv, &in, &ilen, &out, &olen); + return 0; + } +" ICONV_SECOND_ARGUMENT_IS_CONST ) +ENDIF(ICONV_FOUND) +set(CMAKE_REQUIRED_INCLUDES) +set(CMAKE_REQUIRED_LIBRARIES) + +IF(ICONV_FOUND) + IF(NOT ICONV_FIND_QUIETLY) + MESSAGE(STATUS "Found Iconv: ${ICONV_LIBRARIES}") + ENDIF(NOT ICONV_FIND_QUIETLY) +ELSE(ICONV_FOUND) + IF(Iconv_FIND_REQUIRED) + MESSAGE(FATAL_ERROR "Could not find Iconv") + ENDIF(Iconv_FIND_REQUIRED) +ENDIF(ICONV_FOUND) + +MARK_AS_ADVANCED( + ICONV_INCLUDE_DIR + ICONV_LIBRARIES + ICONV_SECOND_ARGUMENT_IS_CONST +) diff --git a/cmake/modules/FindLdap.cmake b/cmake/modules/FindLdap.cmake new file mode 100644 index 0000000..188debd --- /dev/null +++ b/cmake/modules/FindLdap.cmake @@ -0,0 +1,35 @@ +# - Try to find the LDAP client libraries +# Once done this will define +# +# LDAP_FOUND - system has libldap +# LDAP_INCLUDE_DIR - the ldap include directory +# LDAP_LIBRARIES - libldap + liblber (if found) library +# LBER_LIBRARIES - liblber library + +if(LDAP_INCLUDE_DIR AND LDAP_LIBRARIES) + # Already in cache, be silent + set(Ldap_FIND_QUIETLY TRUE) +endif() + +FIND_PATH(LDAP_INCLUDE_DIR ldap.h) +FIND_LIBRARY(LDAP_LIBRARIES NAMES ldap) +FIND_LIBRARY(LBER_LIBRARIES NAMES lber) + +if(LDAP_INCLUDE_DIR AND LDAP_LIBRARIES) + set(LDAP_FOUND TRUE) + if(LBER_LIBRARIES) + set(LDAP_LIBRARIES ${LDAP_LIBRARIES} ${LBER_LIBRARIES}) + endif() +endif() + +if(LDAP_FOUND) + if(NOT Ldap_FIND_QUIETLY) + message(STATUS "Found ldap: ${LDAP_LIBRARIES}") + endif() +else() + if(Ldap_FIND_REQUIRED) + message(FATAL_ERROR "Could NOT find ldap") + endif() +endif() + +MARK_AS_ADVANCED(LDAP_INCLUDE_DIR LDAP_LIBRARIES LBER_LIBRARIES) diff --git a/cmake/modules/FindLibDigiDoc.cmake b/cmake/modules/FindLibDigiDoc.cmake new file mode 100644 index 0000000..47ccf00 --- /dev/null +++ b/cmake/modules/FindLibDigiDoc.cmake @@ -0,0 +1,28 @@ +# - Find LibDigiDoc +# Find the native LibDigiDoc includes and library +# +# LIBDIGIDOC_INCLUDE_DIR - where to find winscard.h, wintypes.h, etc. +# LIBDIGIDOC_LIBRARIES - List of libraries when using LibDigiDoc. +# LIBDIGIDOC_FOUND - True if LibDigiDoc found. + + +IF (LIBDIGIDOC_INCLUDE_DIR) + # Already in cache, be silent + SET(LIBDIGIDOC_FIND_QUIETLY TRUE) +ENDIF (LIBDIGIDOC_INCLUDE_DIR) + +FIND_PATH(LIBDIGIDOC_INCLUDE_DIR libdigidoc/DigiDocDefs.h PATH_SUFFIXES include) +FIND_LIBRARY(LIBDIGIDOC_LIBRARY NAMES digidoc) + +# handle the QUIETLY and REQUIRED arguments and set LIBDIGIDOC_FOUND to TRUE if +# all listed variables are TRUE +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibDigiDoc DEFAULT_MSG LIBDIGIDOC_LIBRARY LIBDIGIDOC_INCLUDE_DIR) + +IF(LIBDIGIDOC_FOUND) + SET( LIBDIGIDOC_LIBRARIES ${LIBDIGIDOC_LIBRARY} ) +ELSE(LIBDIGIDOC_FOUND) + SET( LIBDIGIDOC_LIBRARIES ) +ENDIF(LIBDIGIDOC_FOUND) + +MARK_AS_ADVANCED(LIBDIGIDOC_LIBRARY LIBDIGIDOC_INCLUDE_DIR) diff --git a/cmake/modules/FindLibDigiDocpp.cmake b/cmake/modules/FindLibDigiDocpp.cmake new file mode 100644 index 0000000..8ec6371 --- /dev/null +++ b/cmake/modules/FindLibDigiDocpp.cmake @@ -0,0 +1,28 @@ +# - Find LibDigiDocpp +# Find the native LibDigiDocpp includes and library +# +# LIBDIGIDOCPP_INCLUDE_DIR - where to find winscard.h, wintypes.h, etc. +# LIBDIGIDOCPP_LIBRARIES - List of libraries when using LibDigiDocpp. +# LIBDIGIDOCPP_FOUND - True if LibDigiDocpp found. + + +IF (LIBDIGIDOCPP_INCLUDE_DIR) + # Already in cache, be silent + SET(LIBDIGIDOCPP_FIND_QUIETLY TRUE) +ENDIF (LIBDIGIDOCPP_INCLUDE_DIR) + +FIND_PATH(LIBDIGIDOCPP_INCLUDE_DIR digidocpp/Container.h PATH_SUFFIXES include) +FIND_LIBRARY(LIBDIGIDOCPP_LIBRARY NAMES digidocpp) + +# handle the QUIETLY and REQUIRED arguments and set LIBDIGIDOCPP_FOUND to TRUE if +# all listed variables are TRUE +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibDigiDocpp DEFAULT_MSG LIBDIGIDOCPP_LIBRARY LIBDIGIDOCPP_INCLUDE_DIR) + +IF(LIBDIGIDOCPP_FOUND) + SET( LIBDIGIDOCPP_LIBRARIES ${LIBDIGIDOCPP_LIBRARY} ) +ELSE(LIBDIGIDOCPP_FOUND) + SET( LIBDIGIDOCPP_LIBRARIES ) +ENDIF(LIBDIGIDOCPP_FOUND) + +MARK_AS_ADVANCED(LIBDIGIDOCPP_LIBRARY LIBDIGIDOCPP_INCLUDE_DIR) diff --git a/cmake/modules/FindMiniZip.cmake b/cmake/modules/FindMiniZip.cmake new file mode 100644 index 0000000..04fb521 --- /dev/null +++ b/cmake/modules/FindMiniZip.cmake @@ -0,0 +1,30 @@ +# - Find minizip +# Find the native MINIZIP includes and library +# +# MINIZIP_INCLUDE_DIR - where to find minizip.h, etc. +# MINIZIP_LIBRARIES - List of libraries when using minizip. +# MINIZIP_FOUND - True if minizip found. + + +IF (MINIZIP_INCLUDE_DIR) + # Already in cache, be silent + SET(MINIZIP_FIND_QUIETLY TRUE) +ENDIF (MINIZIP_INCLUDE_DIR) + +FIND_PATH(MINIZIP_INCLUDE_DIR zip.h PATH_SUFFIXES minizip) + +SET(MINIZIP_NAMES minizip) +FIND_LIBRARY(MINIZIP_LIBRARY NAMES ${MINIZIP_NAMES} ) + +# handle the QUIETLY and REQUIRED arguments and set MINIZIP_FOUND to TRUE if +# all listed variables are TRUE +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(MiniZip DEFAULT_MSG MINIZIP_LIBRARY MINIZIP_INCLUDE_DIR) + +IF(MINIZIP_FOUND) + SET( MINIZIP_LIBRARIES ${MINIZIP_LIBRARY} ) +ELSE(MINIZIP_FOUND) + SET( MINIZIP_LIBRARIES ) +ENDIF(MINIZIP_FOUND) + +MARK_AS_ADVANCED( MINIZIP_LIBRARY MINIZIP_INCLUDE_DIR ) diff --git a/cmake/modules/FindPCSCLite.cmake b/cmake/modules/FindPCSCLite.cmake new file mode 100644 index 0000000..f6cbc55 --- /dev/null +++ b/cmake/modules/FindPCSCLite.cmake @@ -0,0 +1,44 @@ +# - Find PCSC-Lite +# Find the native PCSC-Lite includes and library +# +# PCSCLITE_INCLUDE_DIR - where to find winscard.h, wintypes.h, etc. +# PCSCLITE_LIBRARIES - List of libraries when using PCSC-Lite. +# PCSCLITE_FOUND - True if PCSC-Lite found. + + +IF (PCSCLITE_INCLUDE_DIR AND PCSCLITE_LIBRARIES) + # Already in cache, be silent + SET(PCSCLITE_FIND_QUIETLY TRUE) +ENDIF (PCSCLITE_INCLUDE_DIR AND PCSCLITE_LIBRARIES) + +IF (NOT WIN32) + FIND_PACKAGE(PkgConfig) + PKG_CHECK_MODULES(PC_PCSCLITE libpcsclite) +ENDIF (NOT WIN32) + +FIND_PATH(PCSCLITE_INCLUDE_DIR winscard.h + HINTS + /usr/include/PCSC + ${PC_PCSCLITE_INCLUDEDIR} + ${PC_PCSCLITE_INCLUDE_DIRS} + ${PC_PCSCLITE_INCLUDE_DIRS}/PCSC + ) + +FIND_LIBRARY(PCSCLITE_LIBRARY NAMES pcsclite libpcsclite PCSC + HINTS + ${PC_PCSCLITE_LIBDIR} + ${PC_PCSCLITE_LIBRARY_DIRS} + ) + +# handle the QUIETLY and REQUIRED arguments and set PCSCLITE_FOUND to TRUE if +# all listed variables are TRUE +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(PCSC-Lite DEFAULT_MSG PCSCLITE_LIBRARY PCSCLITE_INCLUDE_DIR) + +IF(PCSCLITE_FOUND) + SET( PCSCLITE_LIBRARIES ${PCSCLITE_LIBRARY} ) +ELSE(PCSCLITE_FOUND) + SET( PCSCLITE_LIBRARIES ) +ENDIF(PCSCLITE_FOUND) + +MARK_AS_ADVANCED( PCSCLITE_LIBRARY PCSCLITE_INCLUDE_DIR ) diff --git a/cmake/modules/FindPKCS11.cmake b/cmake/modules/FindPKCS11.cmake new file mode 100644 index 0000000..d4e3110 --- /dev/null +++ b/cmake/modules/FindPKCS11.cmake @@ -0,0 +1,24 @@ +# - Find pkcs11 +# Find the PKCS11 module +# +# PKCS11_MODULE - pkcs11 module path and name +# PKCS11_MODULE_FOUND - True if pkcs11 module found. + +if( WIN32 ) + set( PKCS11_NAME esteid-pkcs11.dll opensc-pkcs11.dll ) +else() + set( PKCS11_NAME esteid-pkcs11.so opensc-pkcs11.so ) +endif() + +if( APPLE ) + find_library( PKCS11_MODULE NAMES ${PKCS11_NAME} HINTS /Library/EstonianIDCard/lib /Library/OpenSC/lib ) +else() + list( GET PKCS11_NAME 1 PKCS11_MODULE ) +endif() + +# handle the QUIETLY and REQUIRED arguments and set PKCS11_MODULE_FOUND to TRUE if +# all listed variables are TRUE +include( FindPackageHandleStandardArgs ) +FIND_PACKAGE_HANDLE_STANDARD_ARGS( PKCS11_Module DEFAULT_MSG PKCS11_MODULE ) + +MARK_AS_ADVANCED( PKCS11_MODULE ) diff --git a/cmake/modules/FindXSD.cmake b/cmake/modules/FindXSD.cmake new file mode 100644 index 0000000..2e168f1 --- /dev/null +++ b/cmake/modules/FindXSD.cmake @@ -0,0 +1,52 @@ +# - Find XSD +# Find XSD includes and executable +# +# XSD_INCLUDE_DIR - Where to find xsd include sub-directory. +# XSD_EXECUTABLE - XSD compiler. +# XSD_FOUND - True if XSD found. + + +IF (XSD_INCLUDE_DIR) + # Already in cache, be silent. + SET(XSD_FIND_QUIETLY TRUE) +ENDIF (XSD_INCLUDE_DIR) + +FIND_PATH(XSD_INCLUDE_DIR xsd/cxx/parser/elements.hxx HINTS /Library/EstonianIDCard/include) + +SET(XSD_NAMES xsdcxx xsdgen xsd) +FIND_PROGRAM(XSD_EXECUTABLE NAMES ${XSD_NAMES} HINTS /Library/EstonianIDCard/bin) +if(XSD_EXECUTABLE) + execute_process (COMMAND ${XSD_EXECUTABLE} "--version" OUTPUT_VARIABLE EXEC_OUT) + string(REGEX REPLACE ".*compiler ([0-9]+)\\.([0-9]+)\\.([0-9]+).*" "\\1" XSD_VERSION_MAJOR ${EXEC_OUT}) + string(REGEX REPLACE ".*compiler ([0-9]+)\\.([0-9]+)\\.([0-9]+).*" "\\2" XSD_VERSION_MINOR ${EXEC_OUT}) + string(REGEX REPLACE ".*compiler ([0-9]+)\\.([0-9]+)\\.([0-9]+).*" "\\3" XSD_VERSION_PATCH ${EXEC_OUT}) + set(XSD_VERSION "${XSD_VERSION_MAJOR}.${XSD_VERSION_MINOR}.${XSD_VERSION_PATCH}") + set(XSD_VERSION_COUNT 3) +endif() + +# Handle the QUIETLY and REQUIRED arguments and set XSD_FOUND to +# TRUE if all listed variables are TRUE. +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(XSD REQUIRED_VARS XSD_EXECUTABLE XSD_INCLUDE_DIR VERSION_VAR XSD_VERSION) + +MARK_AS_ADVANCED( XSD_EXECUTABLE XSD_INCLUDE_DIR ) + +macro( XSD_SCHEMA SOURCES HEADERS OUTPUT INPUT ) + get_filename_component( NAME "${INPUT}" NAME ) + get_filename_component( BASE "${NAME}" NAME_WE ) + list( APPEND ${SOURCES} ${OUTPUT}/${BASE}.cxx ) + list( APPEND ${HEADERS} ${OUTPUT}/${BASE}.hxx ) + add_custom_command( + OUTPUT ${OUTPUT}/${BASE}.cxx ${OUTPUT}/${BASE}.hxx + COMMAND ${CMAKE_COMMAND} -E make_directory ${OUTPUT} + COMMAND ${XSD_EXECUTABLE} cxx-tree + --type-naming ucc + --function-naming lcc + --generate-serialization + --std c++11 + --output-dir ${OUTPUT} + ${ARGN} + ${INPUT} + DEPENDS ${INPUT} + ) +endmacro() diff --git a/cmake/modules/FindXercesC.cmake b/cmake/modules/FindXercesC.cmake new file mode 100644 index 0000000..2d5c1cf --- /dev/null +++ b/cmake/modules/FindXercesC.cmake @@ -0,0 +1,30 @@ +# - Find Xerces-C +# Find the Xerces-C includes and library +# +# XERCESC_INCLUDE_DIR - Where to find xercesc include sub-directory. +# XERCESC_LIBRARIES - List of libraries when using Xerces-C. +# XERCESC_FOUND - True if Xerces-C found. + + +IF (XERCESC_INCLUDE_DIR) + # Already in cache, be silent. + SET(XERCESC_FIND_QUIETLY TRUE) +ENDIF (XERCESC_INCLUDE_DIR) + +FIND_PATH(XERCESC_INCLUDE_DIR xercesc/dom/DOM.hpp HINTS /Library/EstonianIDCard/include) + +SET(XERCESC_NAMES xerces-c xerces-c_3 xerces-c_2) +FIND_LIBRARY(XERCESC_LIBRARY NAMES ${XERCESC_NAMES} HINTS /Library/EstonianIDCard/lib) + +# Handle the QUIETLY and REQUIRED arguments and set XERCESC_FOUND to +# TRUE if all listed variables are TRUE. +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(XercesC DEFAULT_MSG XERCESC_LIBRARY XERCESC_INCLUDE_DIR) + +IF(XERCESC_FOUND) + SET( XERCESC_LIBRARIES ${XERCESC_LIBRARY} ) +ELSE(XERCESC_FOUND) + SET( XERCESC_LIBRARIES ) +ENDIF(XERCESC_FOUND) + +MARK_AS_ADVANCED( XERCESC_LIBRARY XERCESC_INCLUDE_DIR ) diff --git a/cmake/modules/FindXmlSecurityC.cmake b/cmake/modules/FindXmlSecurityC.cmake new file mode 100644 index 0000000..9912c81 --- /dev/null +++ b/cmake/modules/FindXmlSecurityC.cmake @@ -0,0 +1,38 @@ +# - Find XML-Security-C +# Find the XML-Security-C includes and library +# +# XMLSECURITYC_INCLUDE_DIR - Where to find xsec include sub-directory. +# XMLSECURITYC_LIBRARIES - List of libraries when using XML-Security-C. +# XMLSECURITYC_FOUND - True if XML-Security-C found. + + +IF (XMLSECURITYC_INCLUDE_DIR) + # Already in cache, be silent. + SET(XMLSECURITYC_FIND_QUIETLY TRUE) +ENDIF (XMLSECURITYC_INCLUDE_DIR) + +#FIND_PATH(XALANC_INCLUDE_DIR xalanc/XalanTransformer/XalanTransformer.hpp HINTS /Library/EstonianIDCard/include) +FIND_PATH(XMLSECURITYC_INCLUDE_DIR xsec/utils/XSECPlatformUtils.hpp HINTS /Library/EstonianIDCard/include) + +#FIND_LIBRARY(XALANC_LIBRARY NAMES xalan-c xalan-C_1 HINTS /Library/EstonianIDCard/lib) +#FIND_LIBRARY(XALANMSG_LIBRARY NAMES xalanMsg XalanMessages_1 HINTS /Library/EstonianIDCard/lib) +FIND_LIBRARY(XMLSECURITYC_LIBRARY NAMES xml-security-c xsec_1 HINTS /Library/EstonianIDCard/lib) + +# Handle the QUIETLY and REQUIRED arguments and set XMLSECURITYC_FOUND to +# TRUE if all listed variables are TRUE. +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(XmlSecurityC DEFAULT_MSG XMLSECURITYC_LIBRARY XMLSECURITYC_INCLUDE_DIR) + +IF(XMLSECURITYC_FOUND) + SET(XMLSECURITYC_INCLUDE_DIRS ${XMLSECURITYC_INCLUDE_DIR}) + SET(XMLSECURITYC_LIBRARIES ${XMLSECURITYC_LIBRARY}) + IF(XALANC_LIBRARY) + LIST(APPEND XMLSECURITYC_INCLUDE_DIRS ${XALANC_INCLUDE_DIR}) + LIST(APPEND XMLSECURITYC_LIBRARIES ${XALANC_LIBRARY}) + ENDIF() +ELSE() + SET(XMLSECURITYC_INCLUDE_DIRS) + SET(XMLSECURITYC_LIBRARIES) +ENDIF() + +MARK_AS_ADVANCED(XMLSECURITYC_LIBRARY XMLSECURITYC_INCLUDE_DIR XALANC_LIBRARY XALANC_INCLUDE_DIR XALANMSG_LIBRARY) diff --git a/cmake/modules/MacOSXBundleInfo.plist.in b/cmake/modules/MacOSXBundleInfo.plist.in new file mode 100644 index 0000000..e7f2177 --- /dev/null +++ b/cmake/modules/MacOSXBundleInfo.plist.in @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>CFBundleDevelopmentRegion</key> + <string>English</string> + <key>CFBundleExecutable</key> + <string>${MACOSX_BUNDLE_EXECUTABLE_NAME}</string> + <key>CFBundleIconFile</key> + <string>${MACOSX_BUNDLE_ICON_FILE}</string> + <key>CFBundleIdentifier</key> + <string>${MACOSX_BUNDLE_GUI_IDENTIFIER}</string> + <key>CFBundleInfoDictionaryVersion</key> + <string>6.0</string> + <key>CFBundleName</key> + <string>${MACOSX_BUNDLE_BUNDLE_NAME}</string> + <key>CFBundlePackageType</key> + <string>APPL</string> + <key>CFBundleShortVersionString</key> + <string>${MACOSX_BUNDLE_SHORT_VERSION_STRING}</string> + <key>CFBundleVersion</key> + <string>${MACOSX_BUNDLE_BUNDLE_VERSION}</string> + <key>NSHumanReadableCopyright</key> + <string>${MACOSX_BUNDLE_COPYRIGHT}</string> + <key>NSPrincipalClass</key> + <string>NSApplication</string> + <key>NSHighResolutionCapable</key> + <true/> + <key>LSHasLocalizedDisplayName</key> + <true/> + <key>LSApplicationCategoryType</key> + <string>public.app-category.utilities</string> + <key>LSMinimumSystemVersion</key> + <string>10.7</string> +</dict> +</plist> diff --git a/cmake/modules/VersionInfo.cmake b/cmake/modules/VersionInfo.cmake new file mode 100644 index 0000000..2955ce1 --- /dev/null +++ b/cmake/modules/VersionInfo.cmake @@ -0,0 +1,95 @@ +set( MAJOR_VER 3 ) +set( MINOR_VER 10 ) +set( RELEASE_VER 1 ) +set( BUILD_VER 1208 ) +if( $ENV{BUILD_NUMBER} ) + set( BUILD_VER 1208 ) +endif() + +if( WIN32 ) + execute_process( COMMAND "cmd.exe" "/C date /T" OUTPUT_VARIABLE BUILD_DATE ) + string( REGEX REPLACE ".*([0-3][0-9]).([0-1][0-9]).([0-9][0-9][0-9][0-9]).*" "\\1.\\2.\\3" BUILD_DATE ${BUILD_DATE} ) +elseif( UNIX ) + execute_process( COMMAND "date" "+%d.%m.%Y" OUTPUT_VARIABLE BUILD_DATE OUTPUT_STRIP_TRAILING_WHITESPACE ) +else() + message( SEND_ERROR "date not implemented") + set( BUILD_DATE "00.00.0000" ) +endif() + +set( VERSION ${MAJOR_VER}.${MINOR_VER}.${RELEASE_VER}.${BUILD_VER} ) +add_definitions( + -DMAJOR_VER=${MAJOR_VER} + -DMINOR_VER=${MINOR_VER} + -DRELEASE_VER=${RELEASE_VER} + -DBUILD_VER=${BUILD_VER} + -DVER_SUFFIX=\"$ENV{VER_SUFFIX}\" + -DBUILD_DATE=\"${BUILD_DATE}\" + -DDOMAINURL=\"ria.ee\" + -DORG=\"RIA\" +) + +set( MACOSX_BUNDLE_COPYRIGHT "(C) 2010-2015 Estonian Information System Authority" ) +set( MACOSX_BUNDLE_SHORT_VERSION_STRING ${MAJOR_VER}.${MINOR_VER}.${RELEASE_VER} ) +set( MACOSX_BUNDLE_BUNDLE_VERSION ${BUILD_VER} ) +set( MACOSX_BUNDLE_ICON_FILE Icon.icns ) +set( MACOSX_FRAMEWORK_SHORT_VERSION_STRING ${MAJOR_VER}.${MINOR_VER}.${RELEASE_VER} ) +set( MACOSX_FRAMEWORK_BUNDLE_VERSION ${BUILD_VER} ) + +macro( SET_APP_NAME OUTPUT NAME ) + set( ${OUTPUT} "${NAME}" ) + add_definitions( -DAPP=\"${NAME}\" ) + set( MACOSX_BUNDLE_BUNDLE_NAME ${NAME} ) + set( MACOSX_BUNDLE_GUI_IDENTIFIER "ee.ria.${NAME}" ) + if( APPLE ) + file( GLOB_RECURSE RESOURCE_FILES + ${CMAKE_CURRENT_SOURCE_DIR}/mac/Resources/*.icns + ${CMAKE_CURRENT_SOURCE_DIR}/mac/Resources/*.strings ) + foreach( _file ${RESOURCE_FILES} ) + get_filename_component( _file_dir ${_file} PATH ) + file( RELATIVE_PATH _file_dir ${CMAKE_CURRENT_SOURCE_DIR}/mac ${_file_dir} ) + set_source_files_properties( ${_file} PROPERTIES MACOSX_PACKAGE_LOCATION ${_file_dir} ) + endforeach( _file ) + endif( APPLE ) +endmacro() + +macro( add_manifest TARGET ) + if( WIN32 ) + add_custom_command(TARGET ${TARGET} POST_BUILD + COMMAND mt -manifest "${CMAKE_MODULE_PATH}/win81.exe.manifest" -outputresource:"$<TARGET_FILE:${TARGET}>") + endif() +endmacro() + +macro( SET_EX NAME VAR DEF ) + if( "${VAR}" STREQUAL "" ) + set( ${NAME} ${DEF} ${ARGN} ) + else() + set( ${NAME} ${VAR} ${ARGN} ) + endif() +endmacro() + +if(CMAKE_COMPILER_IS_GNUCC OR __COMPILER_GNU) + if(NOT DEFINED ENABLE_VISIBILITY) + set(CMAKE_C_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -fvisibility-inlines-hidden") + #set( CMAKE_C_VISIBILITY_PRESET hidden ) + #set( CMAKE_CXX_VISIBILITY_PRESET hidden ) + #set( CMAKE_VISIBILITY_INLINES_HIDDEN 1 ) + endif() + + if(NOT DISABLE_CXX11) + include(CheckCXXCompilerFlag) + CHECK_CXX_COMPILER_FLAG(-std=c++11 C11) + CHECK_CXX_COMPILER_FLAG(-std=c++0x C0X) + if(C11) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") + elseif(C0X) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x") + endif() + set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++0x") + endif() + if(APPLE) + set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") + set(CMAKE_OSX_DEPLOYMENT_TARGET "10.7") + endif() +endif() diff --git a/cmake/modules/win81.exe.manifest b/cmake/modules/win81.exe.manifest new file mode 100644 index 0000000..e74e0f6 --- /dev/null +++ b/cmake/modules/win81.exe.manifest @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> + <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> + <security> + <requestedPrivileges> + <requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel> + </requestedPrivileges> + </security> + </trustInfo> + <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> + <application> + <!-- Windows Vista --> + <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/> + <!-- Windows 7 --> + <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/> + <!-- Windows 8 --> + <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/> + <!-- Windows 8.1 --> + <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/> + <!-- Windows 10 --> + <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/> + </application> + </compatibility> +</assembly> |