[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [clazy] /: CMakeLists.txt - cleanup, consistent indenting, add some comments
From:       Allen Winter <allen.winter () kdab ! com>
Date:       2016-05-30 21:26:05
Message-ID: E1b7UhJ-0007Hz-2B () scm ! kde ! org
[Download RAW message or body]

Git commit c2e529bb6221c1970b3dce3f6ddef32bddd97cf2 by Allen Winter.
Committed on 30/05/2016 at 21:25.
Pushed by winterz into branch 'master'.

CMakeLists.txt - cleanup, consistent indenting, add some comments

M  +166  -158  CMakeLists.txt

http://commits.kde.org/clazy/c2e529bb6221c1970b3dce3f6ddef32bddd97cf2

diff --git a/CMakeLists.txt b/CMakeLists.txt
index ea36728..041c833 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,77 +1,83 @@
-cmake_minimum_required (VERSION 2.6)
-project (ClangLazy)
-
+# This is the top-level CMakeLists.txt file for the Clazy project.
+#
+# Pass the following variables to cmake to control the build:
+#
+# -DCLAZY_ON_WINDOWS_HACK=[true|false]
+#  Use Windows plugin support hack to support plugins on Windows.
+#  Default=false
+#
+project(ClangLazy)
+
+cmake_minimum_required(VERSION 2.6)
 
 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake)
 find_package(Clang 3.6 MODULE REQUIRED)
 
-set( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin )
-set( CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib )
-set( CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib )
+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
+set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
+set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
 
-add_definitions (-D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS)
-add_definitions (-D_GNU_SOURCE -DHAVE_CLANG_CONFIG_H)
+add_definitions(-D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS)
+add_definitions(-D_GNU_SOURCE -DHAVE_CLANG_CONFIG_H)
 
-OPTION(CLAZY_ON_WINDOWS_HACK "Enable this option if you're using a patched clang to \
support plugins on Windows" OFF) +option(CLAZY_ON_WINDOWS_HACK "Enable this option if \
you're using a patched clang to support plugins on Windows" OFF)  \
if(CLAZY_ON_WINDOWS_HACK)  message("Using Windows plugin support hack")
-  ADD_DEFINITIONS(-DCLAZY_ON_WINDOWS_HACK)
-endif(CLAZY_ON_WINDOWS_HACK)
-
+  add_definitions(-DCLAZY_ON_WINDOWS_HACK)
+endif()
 
 if(MSVC)
-    # disable trigger-happy warnings from Clang/LLVM headers
-    set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4267 /wd4244 /wd4291 /wd4800")
+  # disable trigger-happy warnings from Clang/LLVM headers
+  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4267 /wd4244 /wd4291 /wd4800")
 elseif(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
-    set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-common \
-Woverloaded-virtual -Wcast-qual -fno-strict-aliasing -pedantic -Wno-long-long -Wall \
-W -Wno-unused-parameter -Wwrite-strings -fno-exceptions -fno-rtti") +  \
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-common -Woverloaded-virtual \
-Wcast-qual -fno-strict-aliasing -pedantic -Wno-long-long -Wall -W \
-Wno-unused-parameter -Wwrite-strings -fno-exceptions -fno-rtti")  endif()
-set (CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,-flat_namespace \
-Wl,-undefined -Wl,suppress") +
+set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,-flat_namespace \
-Wl,-undefined -Wl,suppress")  if(NOT WIN32)
-    set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
+  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
 endif()
 
 # Look for std::regex support
 message("Looking for std::regex support...")
 try_run(RUN_RESULT COMPILE_RESULT ${CMAKE_BINARY_DIR} \
${CMAKE_SOURCE_DIR}/cmake_has_regex_test.cpp)  
-if (RUN_RESULT EQUAL 0)
-    set(HAS_STD_REGEX TRUE)
+if(RUN_RESULT EQUAL 0)
+  set(HAS_STD_REGEX TRUE)
 else()
-    set(HAS_STD_REGEX FALSE)
+  set(HAS_STD_REGEX FALSE)
 endif()
 
 # Don't link against LLVMSupport, causes: CommandLine Error: Option \
                'view-background' registered more than once!
-STRING(REPLACE " " ";" LLVM_LIBS_LIST ${LLVM_LIBS}) # Transform into a list
-LIST(REMOVE_ITEM LLVM_LIBS_LIST "-lLLVMSupport")    # Remove element
+string(REPLACE " " ";" LLVM_LIBS_LIST ${LLVM_LIBS}) # Transform into a list
+list(REMOVE_ITEM LLVM_LIBS_LIST "-lLLVMSupport")    # Remove element
 
 macro(add_clang_plugin name)
-    set (srcs ${ARGN})
-
-    include_directories(${CLANG_INCLUDE_DIRS} ${CMAKE_SOURCE_DIR})
-    link_directories("${LLVM_INSTALL_PREFIX}/lib" ${LLVM_LIBRARY_DIRS})
+  set(srcs ${ARGN})
 
-    add_library( ${name} SHARED ${srcs} )
+  include_directories(${CLANG_INCLUDE_DIRS} ${CMAKE_SOURCE_DIR})
+  link_directories("${LLVM_INSTALL_PREFIX}/lib" ${LLVM_LIBRARY_DIRS})
 
-    if (SYMBOL_FILE)
-        set_target_properties( ${name} PROPERTIES LINK_FlAGS
-            "-exported_symbols_list ${SYMBOL_FILE}")
-    endif()
+  add_library(${name} SHARED ${srcs})
 
-    foreach (clang_lib ${CLANG_LIBS})
-        target_link_libraries( ${name} ${clang_lib} )
-    endforeach()
+  if(SYMBOL_FILE)
+    set_target_properties(${name} PROPERTIES LINK_FlAGS "-exported_symbols_list \
${SYMBOL_FILE}") +  endif()
 
-    foreach (llvm_lib ${LLVM_LIBS_LIST})
-        target_link_libraries( ${name} ${llvm_lib} )
-    endforeach()
+  foreach(clang_lib ${CLANG_LIBS})
+    target_link_libraries(${name} ${clang_lib})
+  endforeach()
 
-    foreach (user_lib ${USER_LIBS})
-        target_link_libraries( ${name} ${user_lib} )
-    endforeach()
+  foreach(llvm_lib ${LLVM_LIBS_LIST})
+    target_link_libraries(${name} ${llvm_lib})
+  endforeach()
 
-    target_link_libraries( ${name} clazylib )
+  foreach(user_lib ${USER_LIBS})
+    target_link_libraries(${name} ${user_lib})
+  endforeach()
 
-endmacro(add_clang_plugin)
+  target_link_libraries(${name} clazylib)
+endmacro()
 
 # clazylib version
 set(clazylib_VERSION_MAJOR 0)
@@ -82,130 +88,132 @@ set(clazylib_VERSION \
${clazylib_VERSION_MAJOR}.${clazylib_VERSION_MINOR})  
 include_directories(${CMAKE_BINARY_DIR})
 set(CLAZY_LIB_SRC
-    checkbase.cpp
-    checkmanager.cpp
-    SuppressionManager.cpp
-    ContextUtils.cpp
-    FixItUtils.cpp
-    HierarchyUtils.cpp
-    LoopUtils.cpp
-    MacroUtils.cpp
-    QtUtils.cpp
-    StringUtils.cpp
-    TemplateUtils.cpp
-    TypeUtils.cpp
-    Utils.cpp)
-
-add_library(clazylib SHARED
-    ${CLAZY_LIB_SRC}
-    )
+  checkbase.cpp
+  checkmanager.cpp
+  SuppressionManager.cpp
+  ContextUtils.cpp
+  FixItUtils.cpp
+  HierarchyUtils.cpp
+  LoopUtils.cpp
+  MacroUtils.cpp
+  QtUtils.cpp
+  StringUtils.cpp
+  TemplateUtils.cpp
+  TypeUtils.cpp
+  Utils.cpp
+)
+
+add_library(clazylib SHARED ${CLAZY_LIB_SRC})
 
 set_target_properties(clazylib PROPERTIES VERSION ${clazylib_VERSION} SOVERSION \
${clazylib_VERSION_MAJOR})  include("GNUInstallDirs")
 
 install(TARGETS clazylib EXPORT LibClaryExport
-    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
-    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
-    ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
-    )
+  RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+  ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+)
 
 set(SYMBOL_FILE Lazy.exports)
 
 set(SRC_FILES
-    #level0
-    checks/level0/container-anti-pattern.cpp
-    checks/level0/lambda-in-connect.cpp
-    checks/level0/qdatetimeutc.cpp
-    checks/level0/qfileinfo-exists.cpp
-    checks/level0/qgetenv.cpp
-    checks/level0/qmap-with-pointer-key.cpp
-    checks/level0/qstringarg.cpp
-    checks/level0/qstring-insensitive-allocation.cpp
-    checks/level0/qstringref.cpp
-    checks/level0/qvariant-template-instantiation.cpp
-    checks/level0/temporaryiterator.cpp
-    checks/level0/unused-non-trivial-variable.cpp
-    checks/level0/writingtotemporary.cpp
-    checks/level0/wrong-qglobalstatic.cpp
-
-    #level1
-    checks/level1/autounexpectedqstringbuilder.cpp
-    checks/level1/detachingtemporary.cpp
-    checks/level1/foreach.cpp
-    checks/level1/inefficient-qlist-soft.cpp
-    checks/level1/missing-qobject-macro.cpp
-    checks/level1/nonpodstatic.cpp
-    checks/level1/qdeleteall.cpp
-    checks/level1/qstring-left.cpp
-    checks/level1/range-loop.cpp
-
-    #level2
-    checks/level2/container-inside-loop.cpp
-    checks/level2/function-args-by-ref.cpp
-    checks/level2/function-args-by-value.cpp
-    checks/level2/globalconstcharpointer.cpp
-    checks/level2/implicitcasts.cpp
-    checks/level2/missing-type-info.cpp
-    #checks/level2/oldstyleconnect.cpp) requires std::regex, see below
-    checks/level2/qstring-allocations.cpp
-    checks/level2/reservecandidates.cpp
-    checks/level2/ruleofthree.cpp
-    checks/level2/ruleoftwosoft.cpp
-    checks/level2/virtualcallsfromctor.cpp
-
-    #level3
-    checks/level3/assertwithsideeffects.cpp
-    checks/level3/copyable-polymorphic.cpp
-    checks/level3/detachingmember.cpp
-    checks/level3/dynamic_cast.cpp
-
-    #hiddenlevel
-    checks/hiddenlevel/inefficientqlist.cpp
-    checks/hiddenlevel/isempty-vs-count.cpp
-    checks/hiddenlevel/qt4-qstring-from-array.cpp
-
-    #support classes
-    checks/detachingbase.cpp
-    checks/inefficientqlistbase.cpp
-    checks/requiredresults.cpp
-    checks/ruleofbase.cpp
-
-    #top-level worker
-    Clazy.cpp
+  #level0
+  checks/level0/container-anti-pattern.cpp
+  checks/level0/lambda-in-connect.cpp
+  checks/level0/qdatetimeutc.cpp
+  checks/level0/qfileinfo-exists.cpp
+  checks/level0/qgetenv.cpp
+  checks/level0/qmap-with-pointer-key.cpp
+  checks/level0/qstringarg.cpp
+  checks/level0/qstring-insensitive-allocation.cpp
+  checks/level0/qstringref.cpp
+  checks/level0/qvariant-template-instantiation.cpp
+  checks/level0/temporaryiterator.cpp
+  checks/level0/unused-non-trivial-variable.cpp
+  checks/level0/writingtotemporary.cpp
+  checks/level0/wrong-qglobalstatic.cpp
+
+  #level1
+  checks/level1/autounexpectedqstringbuilder.cpp
+  checks/level1/detachingtemporary.cpp
+  checks/level1/foreach.cpp
+  checks/level1/inefficient-qlist-soft.cpp
+  checks/level1/missing-qobject-macro.cpp
+  checks/level1/nonpodstatic.cpp
+  checks/level1/qdeleteall.cpp
+  checks/level1/qstring-left.cpp
+  checks/level1/range-loop.cpp
+
+  #level2
+  checks/level2/container-inside-loop.cpp
+  checks/level2/function-args-by-ref.cpp
+  checks/level2/function-args-by-value.cpp
+  checks/level2/globalconstcharpointer.cpp
+  checks/level2/implicitcasts.cpp
+  checks/level2/missing-type-info.cpp
+  #checks/level2/oldstyleconnect.cpp) requires std::regex, see below
+  checks/level2/qstring-allocations.cpp
+  checks/level2/reservecandidates.cpp
+  checks/level2/ruleofthree.cpp
+  checks/level2/ruleoftwosoft.cpp
+  checks/level2/virtualcallsfromctor.cpp
+
+  #level3
+  checks/level3/assertwithsideeffects.cpp
+  checks/level3/copyable-polymorphic.cpp
+  checks/level3/detachingmember.cpp
+  checks/level3/dynamic_cast.cpp
+
+  #hiddenlevel
+  checks/hiddenlevel/inefficientqlist.cpp
+  checks/hiddenlevel/isempty-vs-count.cpp
+  checks/hiddenlevel/qt4-qstring-from-array.cpp
+
+  #support classes
+  checks/detachingbase.cpp
+  checks/inefficientqlistbase.cpp
+  checks/requiredresults.cpp
+  checks/ruleofbase.cpp
+
+  #top-level worker
+  Clazy.cpp
 )
 
-if (HAS_STD_REGEX)
-    #level2
-    set(SRC_FILES ${SRC_FILES} checks/level2/oldstyleconnect.cpp)
+if(HAS_STD_REGEX)
+  #level2
+  set(SRC_FILES ${SRC_FILES} checks/level2/oldstyleconnect.cpp)
 else()
-    add_definitions(-DNO_STD_REGEX)
-    message("old-style-connect check is disabled due to missing std::regex support")
-    message("Suppressions are disabled due to missing std::regex support")
+  add_definitions(-DNO_STD_REGEX)
+  message("old-style-connect check is disabled due to missing std::regex support")
+  message("Suppressions are disabled due to missing std::regex support")
 endif()
 
 add_clang_plugin(ClangLazy ${SRC_FILES})
 
 set_target_properties(ClangLazy PROPERTIES
-    LINKER_LANGUAGE CXX
-    PREFIX "")
+  LINKER_LANGUAGE CXX
+  PREFIX ""
+)
 
-install(TARGETS ClangLazy     RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
-                              LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
-                              ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+install(TARGETS ClangLazy
+  RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+  ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+)
 
 set(SHARE_INSTALL_DIR ${CMAKE_INSTALL_DATAROOTDIR} CACHE STRING "Share directory \
name")  
 if(NOT WIN32)
-    configure_file(${CMAKE_SOURCE_DIR}/clazy.cmake ${CMAKE_BINARY_DIR}/clazy @ONLY)
-    install(FILES ${CMAKE_BINARY_DIR}/clazy DESTINATION bin PERMISSIONS OWNER_WRITE \
OWNER_EXECUTE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_READ WORLD_EXECUTE) +  \
configure_file(${CMAKE_SOURCE_DIR}/clazy.cmake ${CMAKE_BINARY_DIR}/clazy @ONLY) +  \
install(FILES ${CMAKE_BINARY_DIR}/clazy DESTINATION bin PERMISSIONS OWNER_WRITE \
OWNER_EXECUTE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_READ WORLD_EXECUTE)  else()
-    if(MSVC)
-        set(CLANG_COMPILER "clang-cl")
-    else()
-        set(CLANG_COMPILER "clang++")
-    endif()
-    configure_file(${CMAKE_SOURCE_DIR}/clazy.bat.cmake \
                ${CMAKE_BINARY_DIR}/clazy.bat)
-    install(FILES ${CMAKE_BINARY_DIR}/clazy.bat DESTINATION bin PERMISSIONS \
OWNER_WRITE OWNER_EXECUTE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_READ \
WORLD_EXECUTE) +  if(MSVC)
+    set(CLANG_COMPILER "clang-cl")
+  else()
+    set(CLANG_COMPILER "clang++")
+  endif()
+  configure_file(${CMAKE_SOURCE_DIR}/clazy.bat.cmake ${CMAKE_BINARY_DIR}/clazy.bat)
+  install(FILES ${CMAKE_BINARY_DIR}/clazy.bat DESTINATION bin PERMISSIONS \
OWNER_WRITE OWNER_EXECUTE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_READ \
WORLD_EXECUTE)  endif()
 
 # Install the explanation README's
@@ -226,21 +234,21 @@ install(FILES README.txt LICENSE.GPL.txt DESTINATION \
${DOC_INSTALL_DIR})  
 # Install public headers
 set(CLAZY_LIB_INCLUDES
-    checkbase.h
-    checkmanager.h
-    SuppressionManager.h
-    ContextUtils.h
-    FixItUtils.h
-    HierarchyUtils.h
-    LoopUtils.h
-    MacroUtils.h
-    QtUtils.h
-    StringUtils.h
-    TemplateUtils.h
-    TypeUtils.h
-    Utils.h
-    clazy_stl.h
-    clazylib_export.h
+  checkbase.h
+  checkmanager.h
+  SuppressionManager.h
+  ContextUtils.h
+  FixItUtils.h
+  HierarchyUtils.h
+  LoopUtils.h
+  MacroUtils.h
+  QtUtils.h
+  StringUtils.h
+  TemplateUtils.h
+  TypeUtils.h
+  Utils.h
+  clazy_stl.h
+  clazylib_export.h
 )
 
 install(FILES ${CLAZY_LIB_INCLUDES} DESTINATION include/clazy)


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic