[CMake] Simclist library produces simclist.c.o, simclist.c.i, simclist.c.s ...

Michael Wild themiwi at gmail.com
Fri Sep 17 04:12:31 EDT 2010


On 17. Sep, 2010, at 9:41 , SC wrote:

> Hi there,
> 
> I recently upgraded my dev system from Ubuntu 8.04 to Ubuntu 10.4. This made me change from Cmake 2.4-patch7 to 
> Cmake 2.8.0.
> 
> Since then, generating a makefile with "Cmake ." in the Simclist library source directory produces the following :
> 
> #=============================================================================
> # Target rules for targets named simclist
> 
> # Build rule for target.
> simclist: cmake_check_build_system
> $(MAKE) -f CMakeFiles/Makefile2 simclist
> .PHONY : simclist
> 
> # fast build rule for target.
> simclist/fast:
> $(MAKE) -f CMakeFiles/simclist.dir/build.make CMakeFiles/simclist.dir/build
> .PHONY : simclist/fast
> 
> simclist.o: simclist.c.o
> .PHONY : simclist.o
> 
> # target to build an object file
> simclist.c.o:
> $(MAKE) -f CMakeFiles/simclist.dir/build.make CMakeFiles/simclist.dir/simclist.c.o
> .PHONY : simclist.c.o
> 
> simclist.i: simclist.c.i
> .PHONY : simclist.i
> 
> # target to preprocess a source file
> simclist.c.i:
> $(MAKE) -f CMakeFiles/simclist.dir/build.make CMakeFiles/simclist.dir/simclist.c.i
> .PHONY : simclist.c.i
> 
> simclist.s: simclist.c.s
> .PHONY : simclist.s
> 
> # target to generate assembly for a file
> simclist.c.s:
> $(MAKE) -f CMakeFiles/simclist.dir/build.make CMakeFiles/simclist.dir/simclist.c.s
> .PHONY : simclist.c.s
> 
> 
> As you can see, the ".c" extension is added to output files. As a consequence, I generate simclist.c.o where I 
> expect simclist.o. I quickly browsed the ChangeLogs of 2.8 and the FAQ but cound find any tip on this.
> 
> Is this a known bug or an incompatibility issue, or maybe an issue in the simclist ?
> 
> The simclist Cmakelists.txt file is as follows :
> 
> cmake_minimum_required(VERSION 2.6)
> PROJECT(simclist)
> 
> # simclist options
> OPTION(SIMCLIST_DEBUG
> "Build with debug code and debug symbols enabled"
> OFF)
> OPTION(SIMCLIST_THREADING
> "Build with simclist threading enable"
> OFF)
> OPTION(SIMCLIST_NO_DUMPRESTORE
> "Disable building of dump & restore functionalities"
> OFF)
> OPTION(SIMCLIST_ALLOW_LOCATIONBASED_HASHES
> "Allow list_hash() to work exclusively on memory locations"
> OFF)
> 
> # expand selected options
> SET(SIMCCFLAGS "")
> # build with debug?
> IF(SIMCLIST_DEBUG)
> SET(SIMCCFLAGS "${SIMCCFLAGS} -DSIMCLIST_DEBUG")
> ENDIF(SIMCLIST_DEBUG)
> # build with threading?
> IF(SIMCLIST_THREADING)
> SET(SIMCCFLAGS "${SIMCCFLAGS} -DSIMCLIST_WITH_THREADS")
> ENDIF(SIMCLIST_THREADING)
> # build without dump/restore functionalities?
> IF(SIMCLIST_NO_DUMPRESTORE)
> SET(SIMCCFLAGS "${SIMCCFLAGS} -DSIMCLIST_NO_DUMPRESTORE")
> ENDIF(SIMCLIST_NO_DUMPRESTORE)
> IF(SIMCLIST_ALLOW_LOCATIONBASED_HASHES)
> SET(SIMCCFLAGS "${SIMCCFLAGS} -DSIMCLIST_ALLOW_LOCATIONBASED_HASHES")
> ENDIF(SIMCLIST_ALLOW_LOCATIONBASED_HASHES)
> SET_SOURCE_FILES_PROPERTIES(simclist.c COMPILE_FLAGS "${SIMCCFLAGS}")
> 
> # main building stuff
> ADD_LIBRARY(simclist SHARED simclist.c)
> SET(CMAKE_C_FLAGS "-O2 -Wall -std=c99")
> 
> Any idea welcomed !
> 
> Thank you
> 


No, this is intentional, I suspect to avoid conflicts. There are people doing stuff like

add_library(foo foo.c foo.cpp foo.f)

Why is this a problem for you?

Michael

--
There is always a well-known solution to every human problem -- neat, plausible, and wrong.
H. L. Mencken

-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 195 bytes
Desc: This is a digitally signed message part
URL: <http://www.cmake.org/pipermail/cmake/attachments/20100917/3762f176/attachment.pgp>


More information about the CMake mailing list