CYGWIN.cmake 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. SET(WIN32 1)
  2. SET(CYGWIN 1)
  3. SET(CMAKE_EXE_LINKER_FLAGS_INIT "-Wl,--enable-auto-import")
  4. SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared -Wl,--export-all-symbols -Wl,--enable-auto-import")
  5. SET(CMAKE_SHARED_MODULE_CREATE_C_FLAGS ${CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS})
  6. SET(CMAKE_DL_LIBS "-lgdi32" )
  7. SET(CMAKE_SHARED_LIBRARY_PREFIX "cyg")
  8. SET(CMAKE_SHARED_LIBRARY_SUFFIX ".dll")
  9. SET(CMAKE_SHARED_MODULE_PREFIX "lib")
  10. SET(CMAKE_SHARED_MODULE_SUFFIX ".dll")
  11. SET(CMAKE_IMPORT_LIBRARY_PREFIX "lib")
  12. SET(CMAKE_IMPORT_LIBRARY_SUFFIX ".dll.a")
  13. # no pic for gcc on cygwin
  14. SET(CMAKE_SHARED_LIBRARY_C_FLAGS "")
  15. SET(CMAKE_SHARED_LIBRARY_CXX_FLAGS "")
  16. SET(CMAKE_EXECUTABLE_SUFFIX ".exe") # .exe
  17. SET(CMAKE_CREATE_WIN32_EXE "-mwindows")
  18. # Modules have a different default prefix that shared libs.
  19. SET(CMAKE_MODULE_EXISTS 1)
  20. SET(CMAKE_FIND_LIBRARY_PREFIXES "cyg" "lib")
  21. SET(CMAKE_FIND_LIBRARY_SUFFIXES ".dll" ".dll.a" ".a")
  22. SET(CMAKE_GNULD_IMAGE_VERSION
  23. "-Wl,--major-image-version,<TARGET_VERSION_MAJOR>,--minor-image-version,<TARGET_VERSION_MINOR>")
  24. SET(CMAKE_C_CREATE_SHARED_MODULE
  25. "<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>")
  26. SET(CMAKE_CXX_CREATE_SHARED_MODULE
  27. "<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>")
  28. SET(CMAKE_C_CREATE_SHARED_LIBRARY
  29. "<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>")
  30. SET(CMAKE_CXX_CREATE_SHARED_LIBRARY
  31. "<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>")
  32. SET(CMAKE_C_LINK_EXECUTABLE
  33. "<CMAKE_C_COMPILER> <FLAGS> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> -Wl,--out-implib,<TARGET_IMPLIB> ${CMAKE_GNULD_IMAGE_VERSION} <LINK_LIBRARIES>")
  34. SET(CMAKE_CXX_LINK_EXECUTABLE
  35. "<CMAKE_CXX_COMPILER> <FLAGS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> -Wl,--out-implib,<TARGET_IMPLIB> ${CMAKE_GNULD_IMAGE_VERSION} <LINK_LIBRARIES>")
  36. # Shared libraries on cygwin can be named with their version number.
  37. SET(CMAKE_SHARED_LIBRARY_NAME_WITH_VERSION 1)
  38. # Initialize C link type selection flags. These flags are used when
  39. # building a shared library, shared module, or executable that links
  40. # to other libraries to select whether to use the static or shared
  41. # versions of the libraries.
  42. FOREACH(type SHARED_LIBRARY SHARED_MODULE EXE)
  43. SET(CMAKE_${type}_LINK_STATIC_C_FLAGS "-Wl,-Bstatic")
  44. SET(CMAKE_${type}_LINK_DYNAMIC_C_FLAGS "-Wl,-Bdynamic")
  45. ENDFOREACH(type)
  46. INCLUDE(Platform/UnixPaths)