1# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
2# file Copyright.txt or https://cmake.org/licensing for details.
3
4
5# This file is included in CMakeSystemSpecificInformation.cmake if
6# the CodeBlocks extra generator has been selected.
7
8find_program(CMAKE_CODEBLOCKS_EXECUTABLE NAMES codeblocks DOC "The CodeBlocks executable")
9
10if(CMAKE_CODEBLOCKS_EXECUTABLE)
11  set(CMAKE_OPEN_PROJECT_COMMAND "${CMAKE_CODEBLOCKS_EXECUTABLE} <PROJECT_FILE>" )
12endif()
13
14# Determine builtin macros and include dirs:
15include(${CMAKE_CURRENT_LIST_DIR}/CMakeExtraGeneratorDetermineCompilerMacrosAndIncludeDirs.cmake)
16
17# Try to find out how many CPUs we have and set the -j argument for make accordingly
18set(_CMAKE_CODEBLOCKS_INITIAL_MAKE_ARGS "")
19
20include(ProcessorCount)
21processorcount(_CMAKE_CODEBLOCKS_PROCESSOR_COUNT)
22
23# Only set -j if we are under UNIX and if the make-tool used actually has "make" in the name
24# (we may also get here in the future e.g. for ninja)
25if("${_CMAKE_CODEBLOCKS_PROCESSOR_COUNT}" GREATER 1  AND  CMAKE_HOST_UNIX  AND  "${CMAKE_MAKE_PROGRAM}" MATCHES make)
26  set(_CMAKE_CODEBLOCKS_INITIAL_MAKE_ARGS "-j${_CMAKE_CODEBLOCKS_PROCESSOR_COUNT}")
27endif()
28
29# This variable is used by the CodeBlocks generator and appended to the make invocation commands.
30set(CMAKE_CODEBLOCKS_MAKE_ARGUMENTS "${_CMAKE_CODEBLOCKS_INITIAL_MAKE_ARGS}" CACHE STRING "Additional command line arguments when CodeBlocks invokes make. Enter e.g. -j<some_number> to get parallel builds")
31
32# This variable is used by the CodeBlocks generator and allows the user to overwrite the autodetected CodeBlocks compiler id
33set(CMAKE_CODEBLOCKS_COMPILER_ID "" CACHE STRING "Id string of the compiler for the CodeBlocks IDE. Automatically detected when left empty")
34