Skip to content

Commit

Permalink
Added new target 'make distclean' to clean PCH files
Browse files Browse the repository at this point in the history
PCH files are now rebuilt only when needed
  • Loading branch information
eranif committed Apr 23, 2013
1 parent 6745bcc commit fff4094
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 3 deletions.
4 changes: 3 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,8 @@ if(CMAKE_BUILD_TYPE MATCHES Debug OR CMAKE_BUILD_TYPE MATCHES DebugFull)
## Set the libraries outout directory
set( CL_BIN_DIR bin_debug)
set( CL_LIB_DIR lib_debug)

add_custom_target(distclean COMMAND cd ${CL_SRC_ROOT}/PCH && $(MAKE) type=debug clean )

set( CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CL_SRC_ROOT}/${CL_LIB_DIR}" )
set( CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CL_SRC_ROOT}/${CL_BIN_DIR}" )
set( CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CL_SRC_ROOT}/${CL_LIB_DIR}" )
Expand All @@ -161,6 +162,7 @@ else ()

set( CL_PCH_FILE "${CL_SRC_ROOT}/PCH/precompiled_header_release.h")
set( CL_PCH_TARGET "precompiled_header_release.h.gch")
add_custom_target(distclean COMMAND cd ${CL_SRC_ROOT}/PCH && $(MAKE) type=release clean )

## Set the libraries outout directory
set( CL_BIN_DIR bin)
Expand Down
6 changes: 4 additions & 2 deletions PCH/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,15 @@ if ( CMAKE_BUILD_TYPE MATCHES Debug OR CMAKE_BUILD_TYPE MATCHES DebugFull )
add_custom_target (
${CL_PCH_TARGET} ALL
DEPENDS "${CL_PCH_FILE}"
COMMAND ${CMAKE_CXX_COMPILER} `wx-config --cflags --debug=yes` -O0 -g -fPIC -c ${CL_PCH_FILE}
COMMAND "$(MAKE)" type=debug
WORKING_DIRECTORY ${CL_SRC_ROOT}/PCH
)
else()
add_custom_target (
${CL_PCH_TARGET} ALL
DEPENDS "${CL_PCH_FILE}"
COMMAND ${CMAKE_CXX_COMPILER} `wx-config --cflags --debug=no` -O3 -DNDEBUG -fPIC -c ${CL_PCH_FILE}
COMMAND "$(MAKE)" type=release
WORKING_DIRECTORY ${CL_SRC_ROOT}/PCH
)
endif()

Expand Down
22 changes: 22 additions & 0 deletions PCH/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
ifeq ($(type),release)
WX_COMMAND=`wx-config --cflags --debug=no`
FLAGS=-O2 -DNDEBUG -fPIC
TARGET=precompiled_header_release.h.gch
else
WX_COMMAND=`wx-config --cflags --debug=no`
FLAGS=-g -O0 -fPIC
TARGET=precompiled_header_dbg.h.gch
endif

all: $(TARGET)

precompiled_header_dbg.h.gch: precompiled_header_dbg.h
@echo -- Building PCH file precompiled_header_dbg.h.gch
$(CXX) $(FLAGS) $(CFLAGS) $(WX_COMMAND) -c precompiled_header_dbg.h -o precompiled_header_dbg.h.gch

precompiled_header_release.h.gch: precompiled_header_release.h
@echo -- Building PCH file precompiled_header_release.h.gch
$(CXX) $(FLAGS) $(CFLAGS) $(WX_COMMAND) -c precompiled_header_release.h -o precompiled_header_release.h.gch

clean:
$(RM) -f $(TARGET)

0 comments on commit fff4094

Please sign in to comment.