You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
188 lines
6.2 KiB
188 lines
6.2 KiB
Remove hardcoded flags. This inhibits user flags, which is required by QA.
|
|
|
|
--- a/CMakeLists.txt
|
|
+++ b/CMakeLists.txt
|
|
@@ -3,10 +3,6 @@
|
|
|
|
cmake_minimum_required( VERSION 3.3.2 )
|
|
|
|
-IF(CMAKE_BUILD_TYPE STREQUAL "")
|
|
- SET(CMAKE_BUILD_TYPE "Release" CACHE STRING "Build Type" FORCE)
|
|
-ENDIF()
|
|
-
|
|
SET(ALL_TARGETS fex gvbam visualboyadvance-m vbamcore vbam)
|
|
|
|
if( COMMAND cmake_policy )
|
|
@@ -28,6 +24,11 @@
|
|
SET(ASM_SCALERS_DEFAULT OFF)
|
|
SET(MMX_DEFAULT OFF)
|
|
|
|
+# Require C++11 support
|
|
+SET(CMAKE_CXX_STANDARD 11)
|
|
+SET(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
+SET(CMAKE_CXX_EXTENSIONS OFF)
|
|
+
|
|
# turn asm on by default on 32bit x86
|
|
IF(CMAKE_SYSTEM_PROCESSOR MATCHES "[xX]86|[aA][mM][dD]64|[xX]64")
|
|
IF(CMAKE_C_SIZEOF_DATA_PTR EQUAL 4) # 32 bit
|
|
@@ -101,12 +102,6 @@
|
|
endif(EXISTS ${PROJECT_SOURCE_DIR}/.git)
|
|
ENDIF( NOT VERSION )
|
|
|
|
-IF(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
- ADD_DEFINITIONS(-DDEBUG)
|
|
-ELSE()
|
|
- ADD_DEFINITIONS(-DNDEBUG)
|
|
-ENDIF()
|
|
-
|
|
# Add support for Homebrew, MacPorts and Fink on OS X
|
|
IF(APPLE)
|
|
INCLUDE(MacPackageManagers)
|
|
@@ -261,96 +256,9 @@
|
|
INCLUDE_DIRECTORIES("${CMAKE_SOURCE_DIR}/dependencies/include")
|
|
ENDIF()
|
|
|
|
-# Compiler flags
|
|
-
|
|
-IF(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
|
- SET(LTO_FLAG "")
|
|
- IF(ENABLE_LTO)
|
|
- IF(CMAKE_COMPILER_IS_GNUCXX)
|
|
- SET(LTO_FLAG -flto=10)
|
|
- ELSE()
|
|
- SET(LTO_FLAG -flto)
|
|
- ENDIF()
|
|
- ENDIF(ENABLE_LTO)
|
|
-
|
|
- # common optimization flags
|
|
- SET(MY_C_AND_CXX_OPT_FLAGS -O2 -mtune=generic -fomit-frame-pointer ${LTO_FLAG})
|
|
-
|
|
- # common debug flags
|
|
- IF(CMAKE_COMPILER_IS_GNUCXX)
|
|
- SET(MY_C_AND_CXX_DBG_FLAGS -ggdb3 -Og)
|
|
- ELSE()
|
|
- SET(MY_C_AND_CXX_DBG_FLAGS -g)
|
|
- ENDIF()
|
|
-
|
|
- # common flags
|
|
- SET(MY_C_AND_CXX_FLAGS -pipe -fPIC -Wformat -Wformat-security -fstack-protector-strong --param ssp-buffer-size=4 -fexceptions -D_FORTIFY_SOURCE=2 -feliminate-unused-debug-types)
|
|
-
|
|
- SET(MY_C_FLAGS ${MY_C_FLAGS} ${MY_C_AND_CXX_FLAGS})
|
|
- SET(MY_CXX_FLAGS ${MY_CXX_FLAGS} ${MY_C_AND_CXX_FLAGS})
|
|
-
|
|
- IF(MINGW)
|
|
- SET(MY_C_FLAGS ${MY_C_FLAGS} -static-libgcc)
|
|
- SET(MY_CXX_FLAGS ${MY_CXX_FLAGS} -static-libgcc -static-libstdc++)
|
|
- ENDIF(MINGW)
|
|
-
|
|
- IF(CMAKE_BUILD_TYPE STREQUAL Debug)
|
|
- SET(MY_C_FLAGS ${MY_C_FLAGS} ${MY_C_AND_CXX_DBG_FLAGS} -Wall)
|
|
- SET(MY_CXX_FLAGS ${MY_CXX_FLAGS} ${MY_C_AND_CXX_DBG_FLAGS} -Wall)
|
|
- ELSE()
|
|
- SET(MY_C_FLAGS ${MY_C_FLAGS} ${MY_C_AND_CXX_OPT_FLAGS} -Wno-error)
|
|
- SET(MY_CXX_FLAGS ${MY_CXX_FLAGS} ${MY_C_AND_CXX_OPT_FLAGS} -Wno-error)
|
|
- ENDIF()
|
|
-
|
|
- FOREACH(C_COMPILE_FLAG ${MY_C_FLAGS})
|
|
- ADD_COMPILE_OPTIONS($<$<COMPILE_LANGUAGE:C>:${C_COMPILE_FLAG}>)
|
|
- ENDFOREACH()
|
|
-
|
|
- FOREACH(CXX_COMPILE_FLAG ${MY_CXX_FLAGS})
|
|
- ADD_COMPILE_OPTIONS($<$<COMPILE_LANGUAGE:CXX>:${CXX_COMPILE_FLAG}>)
|
|
- ENDFOREACH()
|
|
-
|
|
- # make a string of compile options to add to link flags
|
|
- UNSET(C_COMPILE_FLAGS_STR)
|
|
- UNSET(CXX_COMPILE_FLAGS_STR)
|
|
-
|
|
- FOREACH(ARG ${MY_C_FLAGS})
|
|
- SET(C_COMPILE_FLAGS_STR "${C_COMPILE_FLAGS_STR} ${ARG}")
|
|
- ENDFOREACH()
|
|
-
|
|
- FOREACH(ARG ${MY_CXX_FLAGS})
|
|
- SET(CXX_COMPILE_FLAGS_STR "${CXX_COMPILE_FLAGS_STR} ${ARG}")
|
|
- ENDFOREACH()
|
|
-
|
|
- # need all flags for linking, because of -flto etc.
|
|
- SET(CMAKE_C_LINK_EXECUTABLE "${CMAKE_C_LINK_EXECUTABLE} ${C_COMPILE_FLAGS_STR}")
|
|
- SET(CMAKE_CXX_LINK_EXECUTABLE "${CMAKE_CXX_LINK_EXECUTABLE} ${CXX_COMPILE_FLAGS_STR}")
|
|
-
|
|
- # for the gcc -fstack-protector* flags we need libssp
|
|
- # we also have to use the gcc- binutils for LTO to work
|
|
- IF(CMAKE_COMPILER_IS_GNUCXX)
|
|
- INCLUDE(UseGCCBinUtilsWrappers)
|
|
-
|
|
- IF(WIN32)
|
|
- SET(SSP_STATIC ON)
|
|
- ENDIF(WIN32)
|
|
-
|
|
- FIND_PACKAGE(SSP)
|
|
-
|
|
- IF(SSP_LIBRARY)
|
|
- SET(CMAKE_C_LINK_EXECUTABLE "${CMAKE_C_LINK_EXECUTABLE} ${SSP_LIBRARY}")
|
|
- SET(CMAKE_CXX_LINK_EXECUTABLE "${CMAKE_CXX_LINK_EXECUTABLE} ${SSP_LIBRARY}")
|
|
- ENDIF(SSP_LIBRARY)
|
|
-
|
|
- SET(CMAKE_C_LINK_EXECUTABLE "${CMAKE_C_LINK_EXECUTABLE} -Wl,-allow-multiple-definition")
|
|
- SET(CMAKE_CXX_LINK_EXECUTABLE "${CMAKE_CXX_LINK_EXECUTABLE} -Wl,-allow-multiple-definition")
|
|
- ENDIF()
|
|
-ENDIF()
|
|
-
|
|
# Assembler flags
|
|
-
|
|
IF(ASM_ENABLED)
|
|
- FOREACH(ASM_FLAG -I${CMAKE_SOURCE_DIR}/src/filters/hq/asm/ -O1 -w-orphan-labels)
|
|
+ FOREACH(ASM_FLAG -I${CMAKE_SOURCE_DIR}/src/filters/hq/asm/ -w-orphan-labels)
|
|
ADD_COMPILE_OPTIONS($<$<COMPILE_LANGUAGE:ASM_NASM>:${ASM_FLAG}>)
|
|
ENDFOREACH()
|
|
ENDIF(ASM_ENABLED)
|
|
--- a/src/gtk/CMakeLists.txt
|
|
+++ b/src/gtk/CMakeLists.txt
|
|
@@ -1,6 +1,3 @@
|
|
-#Do not use this file directly. Always use the top level CMakeLists.txt file
|
|
-SET( CMAKE_CXX_FLAGS -std=gnu++11 )
|
|
-
|
|
#GTK dependencies
|
|
FIND_PACKAGE ( PkgConfig REQUIRED )
|
|
FIND_PACKAGE ( Gettext REQUIRED )
|
|
--- a/src/wx/CMakeLists.txt
|
|
+++ b/src/wx/CMakeLists.txt
|
|
@@ -1,7 +1,3 @@
|
|
-#Do not use this file directly. Always use the top level CMakeLists.txt file
|
|
-# This build is much easier if we just do it here.
|
|
-SET( CMAKE_CXX_FLAGS -std=gnu++11 )
|
|
-
|
|
# not yet implemented
|
|
SET(CAIRO_DEFAULT OFF)
|
|
|
|
@@ -46,15 +42,6 @@
|
|
ADD_DEFINITIONS (-DNO_OAL)
|
|
endif(ENABLE_OPENAL)
|
|
|
|
-IF(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
- SET(wxWidgets_USE_DEBUG ON) # noop if wx is compiled with --disable-debug, like in Mac Homebrew atm
|
|
-
|
|
- # and if this is the case, we can't set debug level without link failing
|
|
- IF(NOT wxWidgets_DEFINITIONS MATCHES "-DwxDEBUG_LEVEL=0")
|
|
- ADD_DEFINITIONS(-DwxDEBUG_LEVEL=1)
|
|
- ENDIF()
|
|
-ENDIF()
|
|
-
|
|
IF(APPLE)
|
|
SET(wxWidgets_USE_STATIC ON)
|
|
ENDIF(APPLE)
|
|
@@ -256,13 +243,6 @@
|
|
SET_PROPERTY(TARGET visualboyadvance-m APPEND PROPERTY MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/wxplist.in)
|
|
SET(MACOSX_BUNDLE_ICON_FILE ${VBAM_ICON})
|
|
SET_SOURCE_FILES_PROPERTIES(${VBAM_ICON_PATH} PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
|
|
-
|
|
- # budle dylibs and relink them for releasing .app
|
|
- # but only in Release mode
|
|
- IF(NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
- ADD_CUSTOM_COMMAND(TARGET visualboyadvance-m POST_BUILD
|
|
- COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/tools/osx/third_party_libs_tool "$<TARGET_FILE_DIR:visualboyadvance-m>/../..")
|
|
- ENDIF()
|
|
endif(APPLE)
|
|
|
|
SET(WX_EXE_NAME visualboyadvance-m-wx${CMAKE_EXECUTABLE_SUFFIX})
|