From a072c56673babf34b2a04ec30da54fd55d079d9b Mon Sep 17 00:00:00 2001 From: mattdol Date: Fri, 28 Jul 2017 12:04:05 -0500 Subject: [PATCH 1/5] Add new prep2015 scripts for use with VS 2015 --- prep2015.cmd | 7 +++++++ prep2015x64.cmd | 7 +++++++ 2 files changed, 14 insertions(+) create mode 100644 prep2015.cmd create mode 100644 prep2015x64.cmd diff --git a/prep2015.cmd b/prep2015.cmd new file mode 100644 index 00000000..6aa19019 --- /dev/null +++ b/prep2015.cmd @@ -0,0 +1,7 @@ +@echo off & setlocal enableextensions enabledelayedexpansion + +set _FB_GEN="Visual Studio 14" + +call "%~d0%~p0\common.cmd" %* +if %errorlevel% == 2 exit /b 1 +call "%~d0%~p0\winprep.cmd" diff --git a/prep2015x64.cmd b/prep2015x64.cmd new file mode 100644 index 00000000..b360d923 --- /dev/null +++ b/prep2015x64.cmd @@ -0,0 +1,7 @@ +@echo off & setlocal enableextensions enabledelayedexpansion + +set _FB_GEN="Visual Studio 14 Win64" + +call "%~d0%~p0\common.cmd" %* +if %errorlevel% == 2 exit /b 1 +call "%~d0%~p0\winprep.cmd" From e3f2d270ae46691af279ec7267a3c87f11da9156 Mon Sep 17 00:00:00 2001 From: mattdol Date: Tue, 10 Apr 2018 10:14:08 -0500 Subject: [PATCH 2/5] Add new prep2017 and prep2017x64 files --- prep2017.cmd | 7 +++++++ prep2017x64.cmd | 7 +++++++ 2 files changed, 14 insertions(+) create mode 100644 prep2017.cmd create mode 100644 prep2017x64.cmd diff --git a/prep2017.cmd b/prep2017.cmd new file mode 100644 index 00000000..21664d1f --- /dev/null +++ b/prep2017.cmd @@ -0,0 +1,7 @@ +@echo off & setlocal enableextensions enabledelayedexpansion + +set _FB_GEN="Visual Studio 15" + +call "%~d0%~p0\common.cmd" %* +if %errorlevel% == 2 exit /b 1 +call "%~d0%~p0\winprep.cmd" diff --git a/prep2017x64.cmd b/prep2017x64.cmd new file mode 100644 index 00000000..c10ea479 --- /dev/null +++ b/prep2017x64.cmd @@ -0,0 +1,7 @@ +@echo off & setlocal enableextensions enabledelayedexpansion + +set _FB_GEN="Visual Studio 15 Win64" + +call "%~d0%~p0\common.cmd" %* +if %errorlevel% == 2 exit /b 1 +call "%~d0%~p0\winprep.cmd" From 164b22638717929eae7f5df1c6035ea2418b829a Mon Sep 17 00:00:00 2001 From: DerekZiemba Date: Mon, 24 Feb 2020 20:10:21 -0600 Subject: [PATCH 3/5] SUPPRESS_MESSAGES --- CMakeLists.txt | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 95f4c50f..c66c5b90 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -#/**********************************************************\ +#/**********************************************************\ #Original Author: Richard Bateman (taxilian) # #Created: Nov 20, 2009 @@ -8,7 +8,7 @@ # - or - # GNU Lesser General Public License, version 2.1 # http://www.gnu.org/licenses/lgpl-2.1.html -# +# #Copyright 2009 PacketPass, Inc and the Firebreath development team #\**********************************************************/ @@ -21,6 +21,14 @@ if (CMAKE_MAJOR_VERSION GREATER 2) cmake_policy(SET CMP0045 OLD) endif() +# Output of messages will cause Jenkins to mistake it as an error and the build will fail +function(message) + if(NOT DEFINED SUPPRESS_MESSAGES) + _message(${ARGN}) + endif() +endfunction() + + Project (FireBreath) # Allow super-projects to disable firebreath-specific git operations. @@ -49,9 +57,9 @@ file(REMOVE ${FB_EXPORT_FILE}) add_subdirectory(${FB_ROOT}/cmake ${FB_BUILD_DIR}/cmake_common) #Visual Studio Express editions don't want Solution Folders enabled. -if(NOT ATL_LIBRARY) +if(NOT ATL_LIBRARY) set_property(GLOBAL PROPERTY USE_FOLDERS On) -endif() +endif() if (APPLE) clear_xcode_patches() @@ -131,7 +139,7 @@ if (NOT FB_RELEASE) add_firebreath_plugin(${CURPROJECT} ${PROJNAME}) else() # search the project src dir for plugin project directories - file (GLOB PLUGIN_PROJECTS + file (GLOB PLUGIN_PROJECTS ${FB_PROJECTS_DIR}/[^.]* ) From 8fc1938538e4e76ff23b6cca0018f24b3cd92b37 Mon Sep 17 00:00:00 2001 From: DerekZiemba Date: Fri, 13 Mar 2020 14:20:27 -0500 Subject: [PATCH 4/5] Fix CMake error "Invalid character ('(') in a variable name: 'ProgramFiles'" --- cmake/Win.cmake | 36 +++++++++++++++++++----------------- cmake/common.cmake | 15 ++++++++++----- cmake/wix.cmake | 30 +++++++++++++++--------------- 3 files changed, 44 insertions(+), 37 deletions(-) diff --git a/cmake/Win.cmake b/cmake/Win.cmake index 3269f265..cda44bf8 100755 --- a/cmake/Win.cmake +++ b/cmake/Win.cmake @@ -1,4 +1,4 @@ -#/**********************************************************\ +#/**********************************************************\ #Original Author: Richard Bateman (taxilian) # #Created: Jan 11, 2010 @@ -8,14 +8,16 @@ # - or - # GNU Lesser General Public License, version 2.1 # http://www.gnu.org/licenses/lgpl-2.1.html -# +# #Copyright 2009 PacketPass, Inc and the Firebreath development team #\**********************************************************/ # Find ATL stuff if (NOT VC_DIR) - if (MSVC12) + if (MSVC14) + GET_FILENAME_COMPONENT(VS_DIR "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\14.0\\Setup\\VS;ProductDir]" REALPATH CACHE) + elseif (MSVC12) GET_FILENAME_COMPONENT(VS_DIR "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\12.0\\Setup\\VS;ProductDir]" REALPATH CACHE) elseif (MSVC11) GET_FILENAME_COMPONENT(VS_DIR "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\11.0\\Setup\\VS;ProductDir]" REALPATH CACHE) @@ -32,7 +34,7 @@ if (NOT VC_DIR) message("-- Visual Studio dir: ${VS_DIR}") endif() if (NOT ATL_INCLUDE_DIR) - set (DDK_SEARCH_PATHS + set (DDK_SEARCH_PATHS "$ENV{DDK_PATH}" "$ENV{SystemDrive}/WinDDK" "$ENV{ProgramFiles}/WinDDK" @@ -86,7 +88,7 @@ if (NOT ATL_INCLUDE_DIR) NO_DEFAULT_PATH ) - if (CMAKE_SIZEOF_VOID_P EQUAL 8) + if (CMAKE_SIZEOF_VOID_P EQUAL 8) set(ATLLIB_GUESSES "${VC_DIR}/atlmfc/lib/amd64" ${ATLLIB_GUESSES}) else() set(ATLLIB_GUESSES "${VC_DIR}/atlmfc/lib" ${ATLLIB_GUESSES}) @@ -270,27 +272,27 @@ function (add_wix_installer PROJNAME WIX_SOURCEFILES WIX_COMPGROUP WIX_OUTDIR WI WIX_LINK(${PROJNAME}${FB_WIX_SUFFIX} ${WIX_DEST} WIX_FULLOBJLIST NONE) ADD_DEPENDENCIES(${PROJNAME}${FB_WIX_SUFFIX} ${WIX_PROJDEP}) - + # Create the EXE wrapper - + if (FB_WIX_EXEDEST) SET (WIX_EXEDEST ${FB_WIX_EXEDEST}) else() SET (WIX_EXEDEST ${WIX_OUTDIR}/${PROJNAME}.exe) endif() - + if (NOT FB_WIX_EXE_SUFFIX) set (FB_WIX_EXE_SUFFIX _WiXInstallExe) endif() - + set (WIX_EXESOURCES ${FB_ROOT}/cmake/dummy.cpp ${WIX_DEST} ) ADD_LIBRARY(${PROJNAME}${FB_WIX_EXE_SUFFIX} STATIC ${WIX_EXESOURCES}) - + WIX_SETUPBLD(${PROJNAME}${FB_WIX_EXE_SUFFIX} ${WIX_EXEDEST} ${WIX_DEST}) - + ADD_DEPENDENCIES(${PROJNAME}${FB_WIX_EXE_SUFFIX} ${PROJNAME}${FB_WIX_SUFFIX}) endif() endfunction(add_wix_installer) @@ -300,7 +302,7 @@ function (create_cab PROJNAME DDF CAB_SOURCEFILES CAB_OUTDIR PROJDEP) configure_file(${DDF} ${CMAKE_CURRENT_BINARY_DIR}/${_tmp_File}) message("Configuring ${DDF} -> ${CMAKE_CURRENT_BINARY_DIR}/${_tmp_File}") set(CAB_DDF ${CMAKE_CURRENT_BINARY_DIR}/${_tmp_File}) - + set(SOURCELIST ${CAB_DDF}) FOREACH(_curFile ${CAB_SOURCEFILES}) GET_FILENAME_COMPONENT(_tmp_File ${_curFile} NAME) @@ -308,26 +310,26 @@ function (create_cab PROJNAME DDF CAB_SOURCEFILES CAB_OUTDIR PROJDEP) message("Configuring ${_curFile} -> ${CMAKE_CURRENT_BINARY_DIR}/${_tmp_File}") set(SOURCELIST ${SOURCELIST} ${CMAKE_CURRENT_BINARY_DIR}/${_tmp_File}) ENDFOREACH() - + set (WIX_SOURCES ${FB_ROOT}/cmake/dummy.cpp ${DDF} ${CAB_SOURCEFILES} ${SOURCELIST} ) - + if (FB_CAB_DEST) SET (CAB_DEST ${FB_CAB_DEST}) else() SET (CAB_DEST ${CAB_OUTDIR}/${PROJNAME}.cab) endif() - + FILE(RELATIVE_PATH CAB_NAME ${CAB_OUTDIR} ${CAB_DEST}) - + if (NOT FB_CAB_SUFFIX) set (FB_CAB_SUFFIX _Cab) endif() - + ADD_LIBRARY(${PROJNAME}${FB_CAB_SUFFIX} STATIC ${WIX_SOURCES}) ADD_CUSTOM_COMMAND( TARGET ${PROJNAME}${FB_CAB_SUFFIX} POST_BUILD COMMAND ${CMAKE_MAKECAB} diff --git a/cmake/common.cmake b/cmake/common.cmake index fa15ae15..b7bcfc01 100755 --- a/cmake/common.cmake +++ b/cmake/common.cmake @@ -1,4 +1,4 @@ -#/**********************************************************\ +#/**********************************************************\ #Original Author: Richard Bateman (taxilian) # #Created: Nov 20, 2009 @@ -8,10 +8,16 @@ # - or - # GNU Lesser General Public License, version 2.1 # http://www.gnu.org/licenses/lgpl-2.1.html -# +# #Copyright 2009 PacketPass, Inc and the Firebreath development team #\**********************************************************/ +# cmake --help-policy CMP0045 +# Would require rewriting all expressions like **`get_target_property(VAR)` if (NOT VAR)** +# I'm not sure how to make it work with new cmake +cmake_policy(SET CMP0045 OLD) +set(_program_files_x86 "ProgramFiles(x86)") + # Previously we included this file all over the place; we should never # do that anymore. if (NOT "${CMAKE_CURRENT_SOURCE_DIR}" STREQUAL "${FB_ROOT}") @@ -112,7 +118,6 @@ macro (add_boost_library BOOST_LIB) else() list(APPEND Boost_INCLUDE_DIRS ${FB_BOOST_SOURCE_DIR}) list(REMOVE_DUPLICATES Boost_INCLUDE_DIRS) - list(APPEND Boost_LIBRARIES boost_${BOOST_LIB}) list(REMOVE_DUPLICATES Boost_LIBRARIES) get_target_property(_BL_EXISTS boost_${BOOST_LIB} TYPE) @@ -201,7 +206,7 @@ function(proxy_setup) message("!!!! WARNING: HTTP_PROXY env var set, but we need HTTPS_PROXY. Attempting to use HTTP_PROXY FOR HTTPS_PROXY") set(ENV{HTTPS_PROXY} ${HTTP_PROXY}) endif() - + if(http_proxy AND NOT https_proxy) message("!!!! WARNING: http_proxy env var set, but we need https_proxy. Attempting to use http_proxy FOR https_proxy") set(ENV{https_proxy} ${http_proxy}) @@ -269,7 +274,7 @@ function (fb_check_boost) WORKING_DIRECTORY "${FB_BOOST_SOURCE_DIR}" OUTPUT_QUIET ) - file (GLOB TAR_FILE + file (GLOB TAR_FILE ${FB_BOOST_SOURCE_DIR}/*.tar ) execute_process( diff --git a/cmake/wix.cmake b/cmake/wix.cmake index 23707a3c..8c298fc3 100755 --- a/cmake/wix.cmake +++ b/cmake/wix.cmake @@ -4,12 +4,12 @@ # The follwoing variables are optionally searched for defaults # WIX_ROOT_DIR: Base directory of WIX2 tree to use. # -# The following are set after configuration is done: +# The following are set after configuration is done: # WIX_FOUND # WIX_ROOT_DIR # WIX_CANDLE # WIX_LIGHT -# +# # 2009/02 Petr Pytelka (pyta at lightcomp.cz) # @@ -33,23 +33,23 @@ if (WIN32) "$ENV{ProgramFiles}/Windows Installer XML v3.6" "$ENV{ProgramFiles}/WiX Toolset v3.6" "$ENV{ProgramFiles}/WiX Toolset v3.7" - "$ENV{ProgramFiles(x86)}/Windows Installer XML" - "$ENV{ProgramFiles(x86)}/Windows Installer XML v3" - "$ENV{ProgramFiles(x86)}/Windows Installer XML v3.5" - "$ENV{ProgramFiles(x86)}/Windows Installer XML v3.6" - "$ENV{ProgramFiles(x86)}/WiX Toolset v3.6" - "$ENV{ProgramFiles(x86)}/WiX Toolset v3.7" + "$ENV{${_program_files_x86}}/Windows Installer XML" + "$ENV{${_program_files_x86}}/Windows Installer XML v3" + "$ENV{${_program_files_x86}}/Windows Installer XML v3.5" + "$ENV{${_program_files_x86}}/Windows Installer XML v3.6" + "$ENV{${_program_files_x86}}/WiX Toolset v3.6" + "$ENV{${_program_files_x86}}/WiX Toolset v3.7" ) #DBG_MSG("DBG (WIX_POSSIBLE_ROOT_DIRS=${WIX_POSSIBLE_ROOT_DIRS}") # - # select exactly ONE WIX base directory/tree + # select exactly ONE WIX base directory/tree # to avoid mixing different version headers and libs # - FIND_PATH(WIX_ROOT_DIR - NAMES + FIND_PATH(WIX_ROOT_DIR + NAMES bin/candle.exe bin/light.exe bin/heat.exe @@ -116,7 +116,7 @@ if (WIN32) SET(EXT_FLAGS -ext WixUtilExtension) SET(EXT_FLAGS ${EXT_FLAGS} -ext WixUIExtension) - ADD_CUSTOM_COMMAND( + ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${OUTPUT_WIXOBJ} COMMAND ${WIX_CANDLE} ARGS ${WIX_CANDLE_FLAGS} ${EXT_FLAGS} ${SOURCE_WIX_FILE} @@ -153,7 +153,7 @@ if (WIN32) DBG_MSG("WIX output: ${CMAKE_CURRENT_BINARY_DIR}/${OUTPUT_WIXOBJ}") DBG_MSG("WIX command: ${WIX_HEAT}") - ADD_CUSTOM_COMMAND( + ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${OUTPUT_WIXOBJ} COMMAND ${WIX_HEAT} ARGS file ${SOURCE_WIX_FILE} @@ -179,7 +179,7 @@ if (WIN32) SET(EXT_FLAGS -ext WixUtilExtension) SET(EXT_FLAGS ${EXT_FLAGS} -ext WixUIExtension) - ADD_CUSTOM_COMMAND( + ADD_CUSTOM_COMMAND( OUTPUT ${_target} COMMAND ${WIX_CANDLE} ARGS ${WIX_CANDLE_FLAGS} ${EXT_FLAGS} -out "${_target}" ${${_sources}} @@ -219,7 +219,7 @@ if (WIN32) ) ENDMACRO(WIX_LINK) - + # # Create # From 036839abb5d80bd36ee760868e374dc430b45b67 Mon Sep 17 00:00:00 2001 From: DerekZiemba Date: Fri, 13 Mar 2020 14:41:52 -0500 Subject: [PATCH 5/5] Fix SUPPRESS_MESSAGES --- CMakeLists.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c66c5b90..30102677 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -22,11 +22,11 @@ if (CMAKE_MAJOR_VERSION GREATER 2) endif() # Output of messages will cause Jenkins to mistake it as an error and the build will fail -function(message) - if(NOT DEFINED SUPPRESS_MESSAGES) - _message(${ARGN}) - endif() -endfunction() +if(DEFINED SUPPRESS_MESSAGES AND SUPPRESS_MESSAGES) + function(message) + + endfunction() +endif() Project (FireBreath)