Hi,
I have used CMake
2.2.3 for over a year with my projects and never had a problem. Today I upgraded
to 2.4.2, and the project files were generated fine for Visual Studio 2003 .NET,
but during compilation I am getting very strange compilation errors
where the compiler complains that the binary .ico files in /res
directory have unknown characters.
e.g.:
Compiling...
VehicleDetectAppDoc.ico
\home\SRC\PedestrianDetection\PedDetectVDO\res\VehicleDetectAppDoc.ico(0) : warning C4821: Unable to determine Unicode encoding type, please save the file with signature (BOM)
\home\SRC\PedestrianDetection\PedDetectVDO\res\VehicleDetectAppDoc.ico(1) : error C2018: unknown character '0x1'
\home\SRC\PedestrianDetection\PedDetectVDO\res\VehicleDetectAppDoc.ico(1) : error C2018: unknown character '0x2'
I assume this come
from the fact that I simply include all the resource files (both binary
and text files)
as input to
the ADD_EXECUTABLE(...) command. This always worked fine in 2.2.3, but it seems
that there are some settings that 2.4.2 generates that make the compiler assume
that all the resource files are text files. I included a copy of my CMake file
below
Could someone tell
me what is the correct way to include the resource files in my project via
cmake, so that I am able to use 2.4.2. in the future?
Thanks a
lot,
Jan
-------------------------------------------------------------------
CMakeLists.txt:
SET(PedDetectVDO_SRCS
FrameIndexDialog.cpp
MainFrm.cpp
VehicleDetectApp.cpp
VehicleDetectAppDoc.cpp
VehicleDetectAppView.cpp
../PedDetectConsole/PedDetectInterface.cpp
stdafx.cpp
)
FrameIndexDialog.cpp
MainFrm.cpp
VehicleDetectApp.cpp
VehicleDetectAppDoc.cpp
VehicleDetectAppView.cpp
../PedDetectConsole/PedDetectInterface.cpp
stdafx.cpp
)
## header files to
be installed
FILE(GLOB PedDetectVDO_HEADER *.h)
FILE(GLOB PedDetectVDO_HEADER *.h)
SET(PedDetectVDO_RESOURCES
VehicleDetectApp.rc
res/VehicleDetectApp.ico
res/VehicleDetectApp.rc2
res/Toolbar.bmp
res/VehicleDetectApp.manifest
res/VehicleDetectAppDoc.ico
)
VehicleDetectApp.rc
res/VehicleDetectApp.ico
res/VehicleDetectApp.rc2
res/Toolbar.bmp
res/VehicleDetectApp.manifest
res/VehicleDetectAppDoc.ico
)
SET(PedDetectVDO_HEADER
${PedDetectVDO_HEADER}
../PedDetectConsole/PedDetectInterface.h
)
${PedDetectVDO_HEADER}
../PedDetectConsole/PedDetectInterface.h
)
# add the necessary
include directories
INCLUDE_DIRECTORIES(BEFORE ${PedDetectLib_INCLUDES}
${PedestrianDetection_SOURCE_DIR}/PedDetectNIR
)
INCLUDE_DIRECTORIES(BEFORE ${PedDetectLib_INCLUDES}
${PedestrianDetection_SOURCE_DIR}/PedDetectNIR
)
ADD_DEFINITIONS(-D_AFXDLL)
IF
(VISUAL_IDE)
ADD_EXECUTABLE(PedDetectVDO WIN32
${PedDetectVDO_SRCS}
${PedDetectVDO_HEADER}
${PedDetectVDO_RESOURCES})
ELSE (VISUAL_IDE)
ADD_EXECUTABLE(PedDetectVDO WIN32
${PedDetectVDO_SRCS})
ENDIF (VISUAL_IDE)
ADD_EXECUTABLE(PedDetectVDO WIN32
${PedDetectVDO_SRCS}
${PedDetectVDO_HEADER}
${PedDetectVDO_RESOURCES})
ELSE (VISUAL_IDE)
ADD_EXECUTABLE(PedDetectVDO WIN32
${PedDetectVDO_SRCS})
ENDIF (VISUAL_IDE)
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG
"${CMAKE_EXE_LINKER_FLAGS_DEBUG}
/VERBOSE:LIB"
)
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE
"${CMAKE_EXE_LINKER_FLAGS_RELEASE}
/VERBOSE:LIB"
)
"${CMAKE_EXE_LINKER_FLAGS_DEBUG}
/VERBOSE:LIB"
)
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE
"${CMAKE_EXE_LINKER_FLAGS_RELEASE}
/VERBOSE:LIB"
)
# set
dependencies
TARGET_LINK_LIBRARIES(PedDetectVDO
PedDetectLib PedDetectNIR vfw32
${IO_EXTERNAL_LIBS}
)
TARGET_LINK_LIBRARIES(PedDetectVDO
PedDetectLib PedDetectNIR vfw32
${IO_EXTERNAL_LIBS}
)
---------------------------------------
Jan
Neumann, PhD
Member of Technical Staff
Siemens Corporate Research
755 College Rd
East
Princeton, NJ 08540, USA
Phone: +1 (609) 734 3653
Cell: +1 (240) 274
2806
Fax: +1 (609) 734 6565
Email:
[EMAIL PROTECTED]
_______________________________________________ CMake mailing list [email protected] http://www.cmake.org/mailman/listinfo/cmake
