diff options
| author | Albrecht Schlosser <albrechts.fltk@online.de> | 2014-02-09 18:41:29 +0000 |
|---|---|---|
| committer | Albrecht Schlosser <albrechts.fltk@online.de> | 2014-02-09 18:41:29 +0000 |
| commit | f35274095392e82e5d20459f100bb6ba268cc6d7 (patch) | |
| tree | c0d7b0fdce376cc708f2707874520c99dd9f41fd /CMake/setup.cmake | |
| parent | 98695591f4aa3b0a19e271b7de54041d507ddc1b (diff) | |
Split CMake files for better maintenance, as discussed in fltk.general.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10098 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'CMake/setup.cmake')
| -rw-r--r-- | CMake/setup.cmake | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/CMake/setup.cmake b/CMake/setup.cmake new file mode 100644 index 000000000..b6355ac61 --- /dev/null +++ b/CMake/setup.cmake @@ -0,0 +1,99 @@ +# +# "$Id: CMakeLists.txt 10092 2014-02-02 00:49:50Z AlbrechtS $" +# +# CMakeLists.txt to build the FLTK project using CMake (www.cmake.org) +# Written by Michael Surette +# +# Copyright 1998-2010 by Bill Spitzak and others. +# +# This library is free software. Distribution and use rights are outlined in +# the file "COPYING" which should have been included with this file. If this +# file is missing or damaged, see the license at: +# +# http://www.fltk.org/COPYING.php +# +# Please report all bugs and problems on the following page: +# +# http://www.fltk.org/str.php +# + +####################################################################### +# basic setup +####################################################################### +# The FLTK version +set(FLTK_VERSION_MAJOR "1") +set(FLTK_VERSION_MINOR "3") +set(FLTK_VERSION_PATCH "2") +set(FLTK_VERSION "${FLTK_VERSION_MAJOR}.${FLTK_VERSION_MINOR}") +set(FLTK_VERSION_FULL "${FLTK_VERSION}.${FLTK_VERSION_PATCH}") + +set(EXECUTABLE_OUTPUT_PATH ${FLTK_BINARY_DIR}/bin) +set(LIBRARY_OUTPUT_PATH ${FLTK_BINARY_DIR}/lib) +set(ARCHIVE_OUTPUT_PATH ${FLTK_BINARY_DIR}/lib) + +# Search for modules in the FLTK source dir first +set(CMAKE_MODULE_PATH "${FLTK_SOURCE_DIR}/CMake") + +include_directories(${FLTK_BINARY_DIR} ${FLTK_SOURCE_DIR}) + +####################################################################### +# platform dependent information +####################################################################### + +include(TestBigEndian) +TEST_BIG_ENDIAN(WORDS_BIGENDIAN) + +if(APPLE) + set(__APPLE_QUARTZ__ 1) + set(HAVE_STRTOLL 1) + set(HAVE_STRCASECMP 1) + set(HAVE_DIRENT_H 1) + set(HAVE_SNPRINTF 1) + set(HAVE_VSNPRINTF 1) + set(HAVE_SCANDIR 1) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework Cocoa") + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -framework Cocoa") +endif(APPLE) + +if(WIN32) + if(MSVC) + add_definitions(-DWIN32_LEAN_AND_MEAN) + add_definitions(-D_CRT_SECURE_NO_WARNINGS) + endif(MSVC) + if(CMAKE_C_COMPILER_ID STREQUAL GNU) + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-subsystem,windows") + endif(CMAKE_C_COMPILER_ID STREQUAL GNU) + if(MINGW AND EXISTS /mingw) + list(APPEND CMAKE_PREFIX_PATH /mingw) + endif(MINGW AND EXISTS /mingw) +endif(WIN32) + +####################################################################### +# size of ints +include(CheckTypeSize) + +CHECK_TYPE_SIZE(short SIZEOF_SHORT) +CHECK_TYPE_SIZE(int SIZEOF_INT) +CHECK_TYPE_SIZE(long SIZEOF_LONG) +CHECK_TYPE_SIZE("long long" HAVE_LONG_LONG) + +if(${SIZEOF_SHORT} MATCHES "^2$") + set(U16 "unsigned short") +endif(${SIZEOF_SHORT} MATCHES "^2$") + +if(${SIZEOF_INT} MATCHES "^4$") + set(U32 "unsigned") +else() + if(${SIZEOF_LONG} MATCHES "^4$") + set(U32 "unsigned long") + endif(${SIZEOF_LONG} MATCHES "^4$") +endif(${SIZEOF_INT} MATCHES "^4$") + +if(${SIZEOF_INT} MATCHES "^8$") + set(U64 "unsigned") +else() + if(${SIZEOF_LONG} MATCHES "^8$") + set(U64 "unsigned long") + endif(${SIZEOF_LONG} MATCHES "^8$") +endif(${SIZEOF_INT} MATCHES "^8$") |
