From 78d853891c145776e19e412b4956fed87a33bf60 Mon Sep 17 00:00:00 2001 From: Albrecht Schlosser Date: Tue, 9 Aug 2016 14:11:42 +0000 Subject: [CMake] Fix Windows dll build with Visual Studio generator. Now you can set OPTION_BUILD_SHARED_LIBS:BOOL=ON to build FLTK dll's with Visual Studio. Tested and works (Visual Studio 2010 + 2015). Note: Linux fixes included, tested and works (Ubuntu). Todo: dll names and target directories may need some changes. We really need to get rid of that "_SHARED" suffix in .so names. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11867 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- CMake/macros.cmake | 12 ++++++------ CMake/resources.cmake | 9 +++++++++ 2 files changed, 15 insertions(+), 6 deletions(-) (limited to 'CMake') diff --git a/CMake/macros.cmake b/CMake/macros.cmake index 242153c3a..d6f4fa5a5 100644 --- a/CMake/macros.cmake +++ b/CMake/macros.cmake @@ -1,7 +1,7 @@ # # "$Id$" # -# macros.cmake defines macros used by the build system +# macros.cmake defines macros used by the CMake build system # Written by Michael Surette # # Copyright 1998-2016 by Bill Spitzak and others. @@ -29,17 +29,17 @@ macro(FL_ADD_LIBRARY LIBNAME LIBTYPE LIBFILES) endif (${LIBTYPE} STREQUAL "SHARED") if (MSVC) - set (LIBNAME_DEBUG "${LIBNAME}d") + set (LIBRARY_NAME_DEBUG "${LIBRARY_NAME}d") else () - set (LIBNAME_DEBUG "${LIBNAME}") + set (LIBRARY_NAME_DEBUG "${LIBRARY_NAME}") endif (MSVC) add_library(${LIBRARY_NAME} ${LIBTYPE} ${LIBFILES}) set_target_properties(${LIBRARY_NAME} PROPERTIES - OUTPUT_NAME ${LIBNAME} - DEBUG_OUTPUT_NAME "${LIBNAME_DEBUG}" + OUTPUT_NAME ${LIBRARY_NAME} + DEBUG_OUTPUT_NAME ${LIBRARY_NAME_DEBUG} CLEAN_DIRECT_OUTPUT TRUE COMPILE_DEFINITIONS "FL_LIBRARY" ) @@ -55,7 +55,7 @@ macro(FL_ADD_LIBRARY LIBNAME LIBTYPE LIBFILES) if (MSVC) if (OPTION_LARGE_FILE) - set_target_properties(${LIBNAME} + set_target_properties(${LIBRARYNAME} PROPERTIES LINK_FLAGS /LARGEADDRESSAWARE ) diff --git a/CMake/resources.cmake b/CMake/resources.cmake index 8af7ca2cd..37c0c08ef 100644 --- a/CMake/resources.cmake +++ b/CMake/resources.cmake @@ -38,6 +38,15 @@ find_file(HAVE_SYS_STDTYPES_H sys/stdtypes.h) find_file(HAVE_X11_XREGION_H X11/Xregion.h) find_path(HAVE_XDBE_H Xdbe.h PATH_SUFFIXES X11/extensions extensions) +if (MSVC) + message(STATUS "Note: The following three headers should all be found!") + message(STATUS "HAVE_GL_GL_H = '${HAVE_GL_GL_H}'") + message(STATUS "HAVE_GL_GLU_H = '${HAVE_GL_GLU_H}'") + message(STATUS "HAVE_LOCALE_H = '${HAVE_LOCALE_H}'") + message(STATUS "If one of these headers was not found, run cmake-gui ...") + message(STATUS "... again from a Visual Studio developer command prompt!") +endif (MSVC) + # Simulate the behavior of autoconf macro AC_HEADER_DIRENT, see: # https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Particular-Headers.html # "Check for the following header files. For the first one that is found -- cgit v1.2.3