私は自分のプロジェクトにcmakeを設定しており、そのためのテストプロジェクトをセットアップしました。私のビジュアルスタジオ2010プロジェクトを生成するとき、私はこれまでのプロジェクトと同じようにしたいと思います。cmakeがビジュアルスタジオプロジェクトを作成する方法を指定します。
- 私が必要としないALL_BUILDとZERO_CHECKプロジェクトが作成されます。
- 外部依存関係フォルダーに.hファイルを置きます。すべての.hファイルが保存されるInclude Filesフォルダが必要です。
- また、いくつかのファイルを異なるフィルタでグループ化する必要があります。私のコアライブラリのように、フォルダ内の数学に関連するすべてのファイルと、別のフォルダ内のイベント管理に関連するすべてのファイルをグループ化したいと思います。
- ファイルシステム上では、プロジェクトファイルを/ Lib/srcの中に置きます。おそらく、私はそれをコードフォルダに整理しているかもしれませんが、私はプロジェクトファイルに対してそれを望みません。
- 私はDebugOpenGL、DebugDirectX、ReleaseOpenGL、ReleaseDirectXを持っているので、USE_OPENGLまたはUSE_DIRECTXという2つのタイプの設定に対してフラグを設定するように、別の設定を行いたいと思います。
linuxでビルドしたときに、Windowsなどでビルドすると、いくつかのファイルを除外することができますか?私にはWindowWin.cppとWindowLinux.cppがあります。
私はあなたが推薦し何をしようとしましたが、それは働いて得るカント:私は、ヘッダーとソースファイルのサブフォルダをしたいだけという...
#LibProject/src
FILE(GLOB test0_headers $CMakeTest_SOURCE_DIR/LibProject/inc/test.h)
source_group(include0 FILES ${test0_headers})
FILE(GLOB test0_source ${CMakeTest_SOURCE_DIR}/LibProject/src/test.cpp)
source_group(source0 FILES ${test0_source})
FILE(GLOB test1_headers $CMakeTest_SOURCE_DIR/LibProject/inc/test1.h)
source_group(include1 FILES ${test1_headers})
FILE(GLOB test1_source ${CMakeTest_SOURCE_DIR}/LibProject/src/test1.cpp)
source_group(source1 FILES ${test1_source})
include_directories(${test0_headers} ${test1_headers})
add_library(LibProject ${test0_headers} ${test1_headers} ${test0_source} ${test
1_source})
私は種類のそれは今働いてしまいましたソースグループ内。
set(test_source0 ${CMakeTest_SOURCE_DIR}/LibProject/inc/test.h ${CMakeTest_SOURCE_DIR}/LibProject/src/test.cpp)
source_group(TEST FILES ${test_source0})
set(test_source1 ${CMakeTest_SOURCE_DIR}/LibProject/inc/test2.h ${CMakeTest_SOURCE_DIR}/LibProject/src/test2.cpp)
source_group(TEST2 FILES ${test_source1})
include_directories(${CMakeTest_SOURCE_DIR}/LibProject/inc)
add_library(LibProject ${test_source0} ${test_source1})
相続人は私の解決策:)
set(test_header
${CMakeTest_SOURCE_DIR}/LibProject/inc/test.h)
set(test_source
${CMakeTest_SOURCE_DIR}/LibProject/src/test.cpp)
source_group(TEST\\Headers FILES ${test_header})
source_group(TEST\\Source FILES ${test_source})
set(test2_header
${CMakeTest_SOURCE_DIR}/LibProject/inc/test2.h)
set(test2_source
${CMakeTest_SOURCE_DIR}/LibProject/src/test2.cpp)
source_group(TEST2\\Headers FILES ${test2_header})
source_group(TEST2\\Source FILES ${test2_source})
include_directories(${CMakeTest_SOURCE_DIR}/LibProject/inc)
add_library(LibProject
${test_header}
${test_source}
${test2_header}
${test2_source})
ZERO_CHECKとALL_BUILDが何であるかは、http://stackoverflow.com/questions/27175754/what-are-all-build-and-zero-check-and-do-i-need-themを参照してください。 – sashoalm