176fe63d15
cmMakefile.cxx, but now in the platform files and are now valid for the target platform, not the host platform. New variables CMAKE_HOST_WIN32, CMAKE_HOST_UNIX, CMAKE_HOST_APPLE and CMAKE_HOST_CYGWIN have been added in cmMakefile.cxx (...and have now to be used in all cmake files which are executed before CMakeSystemSpecificInformation.cmake is loaded). For compatibility the old set is set to the new one in CMakeDetermineSystem.cmake and reset before the system platform files are loaded, so custom language or compiler modules which use these should still work. Alex
55 lines
2.9 KiB
CMake
55 lines
2.9 KiB
CMake
SET(WIN32 1)
|
|
SET(CYGWIN 1)
|
|
|
|
SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared -Wl,--export-all-symbols -Wl,--enable-auto-import")
|
|
SET(CMAKE_SHARED_MODULE_CREATE_C_FLAGS ${CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS})
|
|
SET(CMAKE_DL_LIBS "-lgdi32" )
|
|
SET(CMAKE_SHARED_LIBRARY_PREFIX "cyg")
|
|
SET(CMAKE_SHARED_LIBRARY_SUFFIX ".dll")
|
|
SET(CMAKE_SHARED_MODULE_PREFIX "lib")
|
|
SET(CMAKE_SHARED_MODULE_SUFFIX ".dll")
|
|
SET(CMAKE_IMPORT_LIBRARY_PREFIX "lib")
|
|
SET(CMAKE_IMPORT_LIBRARY_SUFFIX ".dll.a")
|
|
# no pic for gcc on cygwin
|
|
SET(CMAKE_SHARED_LIBRARY_C_FLAGS "")
|
|
SET(CMAKE_SHARED_LIBRARY_CXX_FLAGS "")
|
|
SET(CMAKE_EXECUTABLE_SUFFIX ".exe") # .exe
|
|
SET(CMAKE_CREATE_WIN32_EXE "-mwindows")
|
|
# Modules have a different default prefix that shared libs.
|
|
SET(CMAKE_MODULE_EXISTS 1)
|
|
|
|
SET(CMAKE_FIND_LIBRARY_PREFIXES "cyg" "lib")
|
|
SET(CMAKE_FIND_LIBRARY_SUFFIXES ".dll" ".dll.a" ".a")
|
|
|
|
SET(CMAKE_GNULD_IMAGE_VERSION
|
|
"-Wl,--major-image-version,<TARGET_VERSION_MAJOR>,--minor-image-version,<TARGET_VERSION_MINOR>")
|
|
|
|
SET(CMAKE_C_CREATE_SHARED_MODULE
|
|
"<CMAKE_C_COMPILER> <LANGUAGE_COMPILE_FLAGS> <CMAKE_SHARED_MODULE_C_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_MODULE_CREATE_C_FLAGS> -o <TARGET> ${CMAKE_GNULD_IMAGE_VERSION} <OBJECTS> <LINK_LIBRARIES>")
|
|
SET(CMAKE_CXX_CREATE_SHARED_MODULE
|
|
"<CMAKE_CXX_COMPILER> <LANGUAGE_COMPILE_FLAGS> <CMAKE_SHARED_MODULE_CXX_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_MODULE_CREATE_CXX_FLAGS> -o <TARGET> ${CMAKE_GNULD_IMAGE_VERSION} <OBJECTS> <LINK_LIBRARIES>")
|
|
|
|
SET(CMAKE_C_CREATE_SHARED_LIBRARY
|
|
"<CMAKE_C_COMPILER> <LANGUAGE_COMPILE_FLAGS> <CMAKE_SHARED_LIBRARY_C_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> -o <TARGET> -Wl,--out-implib,<TARGET_IMPLIB> ${CMAKE_GNULD_IMAGE_VERSION} <OBJECTS> <LINK_LIBRARIES>")
|
|
SET(CMAKE_CXX_CREATE_SHARED_LIBRARY
|
|
"<CMAKE_CXX_COMPILER> <LANGUAGE_COMPILE_FLAGS> <CMAKE_SHARED_LIBRARY_CXX_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS> -o <TARGET> -Wl,--out-implib,<TARGET_IMPLIB> ${CMAKE_GNULD_IMAGE_VERSION} <OBJECTS> <LINK_LIBRARIES>")
|
|
|
|
SET(CMAKE_C_LINK_EXECUTABLE
|
|
"<CMAKE_C_COMPILER> <FLAGS> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> -Wl,--out-implib,<TARGET_IMPLIB> ${CMAKE_GNULD_IMAGE_VERSION} <LINK_LIBRARIES>")
|
|
SET(CMAKE_CXX_LINK_EXECUTABLE
|
|
"<CMAKE_CXX_COMPILER> <FLAGS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> -Wl,--out-implib,<TARGET_IMPLIB> ${CMAKE_GNULD_IMAGE_VERSION} <LINK_LIBRARIES>")
|
|
|
|
# Shared libraries on cygwin can be named with their version number.
|
|
SET(CMAKE_SHARED_LIBRARY_NAME_WITH_VERSION 1)
|
|
|
|
# Initialize C link type selection flags. These flags are used when
|
|
# building a shared library, shared module, or executable that links
|
|
# to other libraries to select whether to use the static or shared
|
|
# versions of the libraries.
|
|
FOREACH(type SHARED_LIBRARY SHARED_MODULE EXE)
|
|
SET(CMAKE_${type}_LINK_STATIC_C_FLAGS "-Wl,-Bstatic")
|
|
SET(CMAKE_${type}_LINK_DYNAMIC_C_FLAGS "-Wl,-Bdynamic")
|
|
ENDFOREACH(type)
|
|
|
|
INCLUDE(Platform/UnixPaths)
|