From a6163888f3c56123b1db313743c6147ba498732c Mon Sep 17 00:00:00 2001 From: Yuval Adam Date: Fri, 8 Aug 2014 14:42:07 +0300 Subject: Add third_party libs --- .../CMake/CheckFunctionWithHeaderExists.cmake | 54 +++++++++++++++ .../windows/fltk-1.1.10/CMake/FLTKConfig.cmake.in | 37 ++++++++++ .../windows/fltk-1.1.10/CMake/FLTKUse.cmake | 68 ++++++++++++++++++ .../windows/fltk-1.1.10/CMake/PlatformTests.cxx | 81 ++++++++++++++++++++++ 4 files changed, 240 insertions(+) create mode 100644 third_party/windows/fltk-1.1.10/CMake/CheckFunctionWithHeaderExists.cmake create mode 100644 third_party/windows/fltk-1.1.10/CMake/FLTKConfig.cmake.in create mode 100644 third_party/windows/fltk-1.1.10/CMake/FLTKUse.cmake create mode 100644 third_party/windows/fltk-1.1.10/CMake/PlatformTests.cxx (limited to 'third_party/windows/fltk-1.1.10/CMake') diff --git a/third_party/windows/fltk-1.1.10/CMake/CheckFunctionWithHeaderExists.cmake b/third_party/windows/fltk-1.1.10/CMake/CheckFunctionWithHeaderExists.cmake new file mode 100644 index 0000000..7d824cd --- /dev/null +++ b/third_party/windows/fltk-1.1.10/CMake/CheckFunctionWithHeaderExists.cmake @@ -0,0 +1,54 @@ +# +# Check if the symbol exists in include files +# +# CHECK_FUNCTIONWITHHEADER_EXISTS - macro which checks the symbol exists in include files. +# SYMBOL - symbol +# FILES - include files to check +# VARIABLE - variable to return result +# + +MACRO(CHECK_FUNCTIONWITHHEADER_EXISTS SYMBOL FILES VARIABLE) + IF("${VARIABLE}" MATCHES "^${VARIABLE}$") + SET(CHECK_SYMBOL_EXISTS_CONTENT "/* */\n") + SET(MACRO_CHECK_SYMBOL_EXISTS_FLAGS ${CMAKE_REQUIRED_FLAGS}) + IF(CMAKE_REQUIRED_LIBRARIES) + SET(CHECK_SYMBOL_EXISTS_LIBS + "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}") + ENDIF(CMAKE_REQUIRED_LIBRARIES) + FOREACH(FILE ${FILES}) + SET(CHECK_SYMBOL_EXISTS_CONTENT + "${CHECK_SYMBOL_EXISTS_CONTENT}#include <${FILE}>\n") + ENDFOREACH(FILE) + SET(CHECK_SYMBOL_EXISTS_CONTENT + "${CHECK_SYMBOL_EXISTS_CONTENT}\nint main()\n{\n${SYMBOL};return 0;\n}\n") + + FILE(WRITE ${CMAKE_BINARY_DIR}/CMakeTmp/CheckSymbolExists.c + "${CHECK_SYMBOL_EXISTS_CONTENT}") + + MESSAGE(STATUS "Looking for ${SYMBOL}") + TRY_COMPILE(${VARIABLE} + ${CMAKE_BINARY_DIR} + ${CMAKE_BINARY_DIR}/CMakeTmp/CheckSymbolExists.c + CMAKE_FLAGS + -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_SYMBOL_EXISTS_FLAGS} + "${CHECK_SYMBOL_EXISTS_LIBS}" + OUTPUT_VARIABLE OUTPUT) + IF(${VARIABLE}) + MESSAGE(STATUS "Looking for ${SYMBOL} - found") + SET(${VARIABLE} 1 CACHE INTERNAL "Have symbol ${SYMBOL}") + FILE(APPEND ${CMAKE_BINARY_DIR}/CMakeOutput.log + "Determining if the ${SYMBOL} " + "exist passed with the following output:\n" + "${OUTPUT}\nFile ${CMAKE_BINARY_DIR}/CMakeTmp/CheckSymbolExists.c:\n" + "${CHECK_SYMBOL_EXISTS_CONTENT}\n") + ELSE(${VARIABLE}) + MESSAGE(STATUS "Looking for ${SYMBOL} - not found.") + SET(${VARIABLE} "" CACHE INTERNAL "Have symbol ${SYMBOL}") + FILE(APPEND ${CMAKE_BINARY_DIR}/CMakeError.log + "Determining if the ${SYMBOL} " + "exist failed with the following output:\n" + "${OUTPUT}\nFile ${CMAKE_BINARY_DIR}/CMakeTmp/CheckSymbolExists.c:\n" + "${CHECK_SYMBOL_EXISTS_CONTENT}\n") + ENDIF(${VARIABLE}) + ENDIF("${VARIABLE}" MATCHES "^${VARIABLE}$") +ENDMACRO(CHECK_FUNCTIONWITHHEADER_EXISTS) diff --git a/third_party/windows/fltk-1.1.10/CMake/FLTKConfig.cmake.in b/third_party/windows/fltk-1.1.10/CMake/FLTKConfig.cmake.in new file mode 100644 index 0000000..574c74e --- /dev/null +++ b/third_party/windows/fltk-1.1.10/CMake/FLTKConfig.cmake.in @@ -0,0 +1,37 @@ +#----------------------------------------------------------------------------- +# +# FLTKConfig.cmake - FLTK CMake configuration file for external projects. +# +# This file is configured by FLTK and used by the UseFLTK.cmake module +# to load FLTK's settings for an external project. + +# The FLTK source tree. +SET(FLTK_SOURCE_DIR "@FLTK_SOURCE_DIR@") + +# The FLTK include file directories. +SET(FLUID_COMMAND "@FLTK_FLUID_COMMAND@") +SET(FLTK_EXECUTABLE_DIRS "@FLTK_EXECUTABLE_DIRS@") +SET(FLTK_LIBRARY_DIRS "@FLTK_LIBRARY_DIRS@") +SET(FLTK_LIBRARIES "@FLTK_LIBRARIES@") +SET(FLTK_INCLUDE_DIRS "@FLTK_INCLUDE_DIRS@") + +# The C and C++ flags added by FLTK to the cmake-configured flags. +SET(FLTK_REQUIRED_C_FLAGS "@FLTK_REQUIRED_C_FLAGS@") +SET(FLTK_REQUIRED_CXX_FLAGS "@FLTK_REQUIRED_CXX_FLAGS@") + +# The FLTK version number +SET(FLTK_VERSION_MAJOR "@FLTK_VERSION_MAJOR@") +SET(FLTK_VERSION_MINOR "@FLTK_VERSION_MINOR@") +SET(FLTK_VERSION_PATCH "@FLTK_VERSION_PATCH@") + +# Is FLTK using shared libraries? +SET(FLTK_BUILD_SHARED_LIBS "@BUILD_SHARED_LIBS@") +SET(FLTK_BUILD_SETTINGS_FILE "@FLTK_BUILD_SETTINGS_FILE@") + +# The location of the UseFLTK.cmake file. +SET(FLTK11_USE_FILE "@FLTK_USE_FILE@") + +# The ExodusII library dependencies. +IF(NOT FLTK_NO_LIBRARY_DEPENDS) + INCLUDE("@FLTK_LIBRARY_DEPENDS_FILE@") +ENDIF(NOT FLTK_NO_LIBRARY_DEPENDS) diff --git a/third_party/windows/fltk-1.1.10/CMake/FLTKUse.cmake b/third_party/windows/fltk-1.1.10/CMake/FLTKUse.cmake new file mode 100644 index 0000000..8b3a2b8 --- /dev/null +++ b/third_party/windows/fltk-1.1.10/CMake/FLTKUse.cmake @@ -0,0 +1,68 @@ +IF(NOT FLTK11_FOUND) + MESSAGE(FATAL_ERROR "Something went wrong. You are including FLTKUse.cmake but FLTK was not found") +ENDIF(NOT FLTK11_FOUND) + +# ------------------------------------------------------------- +# This macro automates wrapping of Fluid files +# Specify the output variable name and the list of sources +# The output variable can be directly added to the target. +# +# For example: +# FLTK_WRAP_FLUID(CubeView_SRCS CubeViewUI.fl) +# ADD_EXECUTABLE(CubeView CubeMain.cxx CubeView.cxx CubeView.h ${CubeView_SRCS}) +# ------------------------------------------------------------- +MACRO(FLTK_WRAP_FLUID VARIABLE) + FOREACH(src ${ARGN}) + IF("${src}" MATCHES ".fl$") + GET_FILENAME_COMPONENT(fname ${src} NAME_WE) + GET_FILENAME_COMPONENT(fpath ${src} PATH) + GET_SOURCE_FILE_PROPERTY(gen ${src} GENERATED) + IF(gen) + SET(fluid_name "${src}") + ELSE(gen) + SET(fluid_name "${CMAKE_CURRENT_SOURCE_DIR}/${fpath}/${fname}.fl") + IF(NOT EXISTS "${fluid_name}") + SET(fluid_name "${CMAKE_CURRENT_BINARY_DIR}/${fpath}/${fname}.fl") + IF(NOT EXISTS "${fluid_name}") + SET(fluid_name "${fpath}/${fname}.fl") + IF(NOT EXISTS "${fluid_name}") + MESSAGE(SEND_ERROR "Cannot find Fluid source file: ${fpath}/${fname}.fl") + ENDIF(NOT EXISTS "${fluid_name}") + ENDIF(NOT EXISTS "${fluid_name}") + ENDIF(NOT EXISTS "${fluid_name}") + ENDIF(gen) + SET(cxx_name "${CMAKE_CURRENT_BINARY_DIR}/${fname}.cxx") + SET(h_name "${CMAKE_CURRENT_BINARY_DIR}/${fname}.h") + SET(${VARIABLE} "${${VARIABLE}};${cxx_name}") + ADD_CUSTOM_COMMAND( + OUTPUT ${cxx_name} + DEPENDS "${fluid_name}" "${FLUID_COMMAND}" + COMMAND ${FLUID_COMMAND} + ARGS -c ${fluid_name}) + ADD_CUSTOM_COMMAND( + OUTPUT ${h_name} + DEPENDS "${fluid_name}" "${FLUID_COMMAND}" + COMMAND ${FLUID_COMMAND} + ARGS -c ${fluid_name}) + ENDIF("${src}" MATCHES ".fl$") + ENDFOREACH(src) +ENDMACRO(FLTK_WRAP_FLUID VARIABLE) + + +# Make FLTK easier to use +INCLUDE_DIRECTORIES(${FLTK_INCLUDE_DIRS}) +LINK_DIRECTORIES(${FLTK_LIBRARY_DIRS}) + +# Load the compiler settings used for FLTK. +IF(FLTK_BUILD_SETTINGS_FILE) + INCLUDE(CMakeImportBuildSettings) + CMAKE_IMPORT_BUILD_SETTINGS(${FLTK_BUILD_SETTINGS_FILE}) +ENDIF(FLTK_BUILD_SETTINGS_FILE) + +# Add compiler flags needed to use FLTK. +SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${FLTK_REQUIRED_C_FLAGS}") +SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${FLTK_REQUIRED_CXX_FLAGS}") +SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${FLTK_REQUIRED_EXE_LINKER_FLAGS}") +SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${FLTK_REQUIRED_SHARED_LINKER_FLAGS}") +SET(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${FLTK_REQUIRED_MODULE_LINKER_FLAGS}") + diff --git a/third_party/windows/fltk-1.1.10/CMake/PlatformTests.cxx b/third_party/windows/fltk-1.1.10/CMake/PlatformTests.cxx new file mode 100644 index 0000000..828a93e --- /dev/null +++ b/third_party/windows/fltk-1.1.10/CMake/PlatformTests.cxx @@ -0,0 +1,81 @@ +#ifdef HAVE_LIBZ + +#include + +int main() +{ + unsigned long compressedSize = 0; + unsigned char cd[100]; + const unsigned char ud[100] = ""; + unsigned long uncompressedSize = 0; + + // Call zlib's compress function. + if(compress(cd, &compressedSize, ud, uncompressedSize) != Z_OK) + { + return 0; + } + return 1; +} + + +#endif + +#ifdef HAVE_LIBJPEG + +#include +#include + +int main() +{ + struct jpeg_decompress_struct cinfo; + jpeg_create_decompress(&cinfo); + jpeg_read_header(&cinfo, TRUE); + return 1; +} + +#endif + +#ifdef HAVE_LIBPNG +#include +int main() +{ + png_structp png_ptr = png_create_read_struct + (PNG_LIBPNG_VER_STRING, (png_voidp)NULL, + NULL, NULL); + png_infop info_ptr = png_create_info_struct(png_ptr); + png_set_sig_bytes(png_ptr, 8); + png_read_info(png_ptr, info_ptr); + + return 0; +} +#endif + +#ifdef HAVE_PNG_H +#include +int main() { retunr 0;} +#endif + +#ifdef HAVE_PNG_GET_VALID +#include +int main() +{ + png_structp png_ptr = png_create_read_struct + (PNG_LIBPNG_VER_STRING, (png_voidp)NULL, + NULL, NULL); + png_infop info_ptr = png_create_info_struct(png_ptr); + png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS); + return 0; +} +#endif + +#ifdef HAVE_PNG_SET_TRNS_TO_ALPHA +#include +int main() +{ + png_structp png_ptr = png_create_read_struct + (PNG_LIBPNG_VER_STRING, (png_voidp)NULL, + NULL, NULL); + png_set_tRNS_to_alpha(png_ptr); + return 0; +} +#endif -- cgit v1.3.1